Android
-
플로팅 액션 버튼Android 2022. 8. 9. 11:47
플로팅 액션 버튼은 화면에 떠있는 원형의 버튼으로 자주 사용되는 기본 위젯이다. 플로팅 액션 버튼을 구현하는 방법은 일반 버튼을 구현하는 방법과 비슷하지만, 기본적으로 ImageView를 상속받기 때문에 버튼에 표현할 아이콘을 지정할 수 있으며 버튼을 클릭하였을 때 서브 버튼이 나열이 되도록 구현이 가능하다. 일반 버튼처럼 사용자가 발생한 클릭 이벤트에 대한 처리도 가능! 1. 화면에 플로팅액션버튼 사용법 1.1 xml 레이아웃 리소스 추가 이제 플로팅액션버튼을 FAB로 부르겠다. FAB 위젯을 레이아웃에 추가하는 방법은 일반 위젯들을 추가시키는 방법과 동일하다. FAB에서 사용되는 주요 속성 들어 아래와 같다. 속성 설명 android : srcCompat FAB에 표시되는 Icon을 지정합니다. ba..
-
키 이벤트 처리하기Android 2022. 8. 8. 14:30
안드로이드에는 여러 가지 키가 존재한다. 이전 액티비티로 돌아가거나 현재 액티비티가 루트 액티비티일 경우 앱을 종료시키는 뒤로 가기 키, 볼륨 조절을 위한 볼륨 업다운 키등 여러 가지 키 이벤트를 발생시켜 단말기의 특정 작업을 처리하는 경우가 많습니다. 안드로이드 앱 개발 과정에서도 이러한 각각의 키에 대한 이벤트 처리를 onKeyUp() 함수와 onKeyDown() 함수를 재정의함으로써 이벤트 처리 작업이 가능한데, 함수명으로도 바로 알 수 있듯이 onKeyDown()은 키가 눌렀졌을 때 호출되며 onKeyUp() 함수는 그 반대의 함수이다. 두 함수는 KeyCode 값과 KeyEvent 두 개의 공통된 매개변수를 인자로 받는다. 1. 두 함수의 리턴값의 의미 onKeyUp() 함수와 onKeyDown..
-
Switch 사용해보기Android 2022. 8. 6. 17:33
저번에는 다이얼로그를 배워봤는데 그거의 심화과정이라고 할 수 있는 스위치까지 배워보았다. 안드로이드의 Switch 위젯은 두 가지 옵션 중 하나를 선택할 수 있는 두 개의 상태 Toggle Switch이다. 사용자는 두 가지 옵션 중 하나를 선택하기 위해 간단한 터치 동작이나 thumb을 앞 뒤로 드래그하여 선택할 수 있다. 1. Switch 주요 속성 2. Switch 구현 예제 2.1 메인 화면 XML 레이아웃 리소스 레이아웃 형태는 ConstraintLayout 아래에 Switch 3개와 TextView 한 개를 배치했다. 각 Switch는 하단에 표시되는 TextView의 Style 및 Visibility에 대한 Option을 제어하도록 구현할 것이다. 2.2 Switch option 변경에 따른..
-
다이얼로그 사용해보기Android 2022. 8. 4. 15:04
안드로이드 개발을 진행하다보면 사용자에게 선택지를 제공하기 위해 다이얼로그를 꽤나 자주사용하게 되는데 집중적으로 다루어봤다. 1. 일반 다이얼로그 띄우기 임의로 위와같은 레이아웃을 구성하여 다이얼로그에서 입력받은 결과를 텍스트뷰에 보여주려고 한다. 위와 같이 setTitle, SetMessage, SetIcon을 통해 제목, 내용, 아이콘을 지정하고 setPositiveButton과 setNegativeButton으로 버튼을 생성하여 각각 그 버튼 클릭 시 동작할 기능을 구현할 수 있다. 2. 커스텀 다이얼로그 띄우기 커스텀 다이얼로그를 띄우기 위해서는 원하는 모양의 xml 레이아웃과 Dialog 코드 작성이 필요하다. 위와 같은 화면을 띄우고 버튼 클릭 시 이벤트를 발생시키려고 한다. 클릭 이벤트를 수..
-
툴바 만들기Android 2022. 7. 28. 11:25
앱을 만들 때 위에 있는 바에 기능들을 넣고 싶다는 생각이 들어서 툴바를 만들어 보기로 했다. 보통 앱 상단에 위치하는 바를 AppBar라고 부르는 듯하고 그 안에 두 가지로 나뉘어 ActionBar와 ToolBar가 있다는 것 같다. Android 3.0(API 11) 버전부터 스튜디오에서 제공하는 기본적인 테마를 사용하면 ActionBar 디폴트 값 같은 느낌으로 제공되었다고 하는데, 최근에 들어오는 새 기능 들은 보통 ToolBar 라이브러리에 등록된다고 한다. Empty Activity로 시작한다. 해야 할 일이 총 4가지 있다. ☞ res/layout 디렉터리에 툴바 리소스 파일 생성 ☞ res/values/styles.xml 파일 내용 수정 ☞ activity_main.xml 파일에 툴바 리소..
-
버튼에 기능 넣기Android 2022. 7. 25. 13:27
적혀있는 속성과 메소드 중 몇 가지를 골라 써보았다. 이미지 뷰의 layout_width, layout_height 속성 값을 wrap_content(뷰의 크기에 따라 이미지 크기가 결정됨)으로 통일해 주었다. 화면 전체를 이미지 뷰가 채운 상태 모습이다. 버튼 생성 - XML 기본 레이아웃 안에 버튼 3개가 들어있는 레이아웃을 하나 더 만들었다. 안 쪽에서 구분된 레이아웃이라고 생각해wrap_parent만 써 넣으면 이미지 뷰와 버튼 3개가 들어있는 작은 레이아웃이 분리될 줄 알았는데 실제로 그렇지 않아서 상당히 시간을 낭비했다. 일단은 제약조건과 dp로 숫자를 맞춰서 넣어 수동적인 해결을 했다. 위 처럼 코드를 수정해서 넣으면 이렇게 완성된다. id 속성은 안 써도 상관없는 줄 알았는데 버튼에 alp..
-
갤러리에서 사진 가져오기Android 2022. 7. 21. 18:45
안드로이드 앱에서 기존 사진을 가져오는 방법으로 다음 두 가지가 있다. 1. 기본 갤러리 앱 사용 2. 커스텀 갤러리 화면 만들기 기본 갤러리 앱을 사용해 사진을 가져와보자. 암시적 Intent를 사용하면 쉽게 갤러리 앱을 사용할 수 있다. 1. 기본 갤러리 앱 실행 Intent 객체를 생성하고 갤러리 액티비티 실행하기 위한 정보를 세팅한다. startActivityForResult의 두 번째 인자로 나중에 확인을 위한 request Code 값을 넣자. private fun startDefaultGalleryApp() { val intent = Intent() intent.type = "image/*" intent.action = Intent.ACTION_GET_CONTENT startActivityF..