Loading...
2024. 3. 13. 00:05

[Android Study] 이벤트 - 터치 이벤트, 키 이벤트

* 터치 이벤트 - 앱의 화면에서 발생하는 사용자의 터치 이벤트를 처리하고 싶다면 액티비티 클래스에 터치 이벤트의 콜백 함수인 onTouchEvent()를 선언하면 된다. 콜백 함수란 어떤 이벤트가 발생하거나 시점에 도달했을 때 시스템에서 자동으로 호출하는 함수를 말한다. class MainActivity: AppCompatActivity() { override fun onTouchEvent(event: MotionEvent?): Boolean { return super.onTouchEvent(event) } } - 액티비티에 onTouchEvent 함수를 재정의(override)해서 선언만 해놓으면 사용자가 이 액티비티 화면을 터치하는 순간 onTouchEvent() 함수가 자동으로 호출된다. onTo..

2024. 3. 12. 00:02

[Android Study] 레이아웃 - ConstraintLayout

* ConstraintLayout은 안드로이드 플랫폼이 아니라 androidx에서 제공하는 라이브러리이다. 따라서 사용하려면 build.gradle에 implementation을 해줘야 한다. 또한, 프로젝트를 만들 때 자동으로 만들어지는 레이아웃을 보면 기본 레이아웃이 ConstraintLayout으로 설정된다. - 안드로이드 스튜디오는 코드가 아닌 마우스 클릭만으로 레이아웃을 구성할 수 있도록 레이아웃 편집기를 제공한다. 레이아웃 XML 파일을 디자인 모드(오른쪽 위 버튼)로 열면 실행할 수 있다. - 왼쪽에 TextView나 ImageView 등을 드래그해서 화면에 가져온다음 오른쪽 Layout에서 상단 왼쪽 여백을 지정해주고 id값과 text값을 바꿔줄 수 있다. 또한, 뷰를 누르면 상하좌우에 원..

2024. 3. 11. 18:26

[Android Study] 레이아웃 - GridLayout

* GridLayout은 행과 열로 구성된 테이블 화면을 만드는 레이아웃 클래스이다. LinearLayout과 마찬가지로 orientation 속성으로 가로나 세로 방향으로 뷰를 나열하는데, 자동으로 줄바꿈을 해준다. orientation: 방향 설정 rowCount: 세로로 나열할 뷰 개수 columnCount: 가로로 나열할 뷰 개수 - GridLayout에 추가한 뷰의 크기는 기본으로 wrap_content로 지정된다. 따라서, layout_width, layout_height속성을 설정하지 않아도 된다. * 특정 뷰의 위치 조정하기 - GridLayout으로 뷰를 배치하면 추가한 순서대로 배치되는데, layout_row, layout_column 속성을 이용하면 특정 뷰의 위치를 조정할 수 있다...

2024. 3. 11. 02:06

[Android Study] 레이아웃 - RelativeLayout

* RelativeLayout은 상대 뷰의 위치를 기준으로 정렬하는 레이아웃 클래스이다. 즉, 화면에 이미 출력된 특정 뷰를 기준으로 방향을 지정하여 배치한다. 아래 속성을 이용하며 각 속성에 입력하는 값은 기준이 되는 뷰의 id 이다. android:layout_above - 기준 뷰의 위쪽에 배치 android:layout_below - 기준 뷰의 아래쪽에 배치 android:layout_toLeftOf - 기준 뷰의 왼쪽에 배치 android:layout_toRightOf - 기준 뷰의 오른쪽에 배치 * 맞춤 정렬하는 align 속성 - 위의 사진처럼 hello 버튼을 오른쪽에 배치했는데 이미지의 세로 크기가 버튼보다 커서 버튼이 이미지 위쪽기준으로 배치가 되었다. 이 때 버튼을 이미지의 아래쪽 기..

2024. 3. 10. 20:27

[Android] 리소스 - 국가별 언어 설정하기

* 어플 출시 지역별로 시스템 기본 설정 언어가 다를 때가 많다. strings.xml에 설정한 리소스 문자열을 언어에 맞게 간단하게 바꿀 수 있는 방법이 있다. 1. values/strings.xml에 접속 > 오른쪽 위 'Open editor'를 눌러준다. 2. 왼쪽 위 지구본+ 모양을 누르면 아래와 같이 여러 국가의 언어들이 표시되는데, 한국어는 korean(ko) in South Korea(KR)로 설정하면 된다. 3. 표시할 text 입력 * 최종적으로 시스템 기본언어가 ko-rKR로 설정된 한국에서는 name= "intro"라는 리소스를 사용하면 "안녕하세요"라고 출력되고, 그 외 나머지 default언어에서는 'Hello'라고 출력된다.

2024. 3. 10. 01:17

[Android Study] 레이아웃 - LinearLayout

* 대표적인 레이아웃 클래스를 정리해보았다. * LinearLayout - LinearLayout은 뷰를 가로나 세로 방향으로 나열하는 레이아웃 클래스이다. orientation 속성에 horizontal이나 vertical값으로 방향을 지정한다. * layout_weight - 위젯을 배치하다보면 가로나 세로 방향으로 여백이 생길 수 있다. 이 때 여백을 뷰로 채우기 위해서 layout_weight을 사용한다. - layout_weight는 뷰의 가중치를 주어서 배치한다. 예를들어, layout_weigt="2", layout_weight="1"으로 두개의 버튼을 배치한다면 화면의 2/3과 1/3을 각각 차지하게 배치가 되는것이다. - layout_weight은 같은 영역에 있는 뷰끼리만 여백을 나누어..

2024. 3. 9. 00:05

[Android Study] 뷰 바인딩

* 앞에서 정리한 내용처럼 레이아웃 XML에 뷰를 등록하고 main에서 findViewById() 함수로 일일이 불러와서 사용하는 것은 매우 번거롭다. 그래서 이러한 무의미한 반복작업을 싫어하는 개발자들은 '뷰 바인딩' 기법을 이용해 코드에서 훨씬 더 간편하게 뷰 객체를 이용할 수 있게 만들었다. * 우선 뷰 바인딩을 사용하려면 build.gradle(Module: app)에 설정을 해줘야한다. - build.gradle에 android{ } 사이에 맨 밑에 buildFeatures를 위 사진처럼 선언해 준다. - 이렇게 하면 레이아웃 XML 파일에 등록된 뷰 객체를 포함하는 클래스가 자동으로 만들어진다. 그리고 이 클래스를 이용해 뷰를 사용하기만 하면 된다. - 자동으로 만들어지는 클래스의 이름은 레이..

2024. 3. 8. 00:04

[Android Study] 뷰의 종류

* 기본적이면서 자주 사용하는 뷰를 정리해 보았다. * 텍스트 뷰 - android:text 속성 - TextView에 출력할 문자열을 지정함. - android:textColor 속성 - 문자열의 색상을 지정함. 값은 #FF0000처럼 16진수 RGB 형식을 사용. - android:textSize 속성 - 문자열의 크기를 지정함. 단위는 px, dp, sp 등을 사용. - android:textStyle 속성 - 문자열의 스타일을 지정함. bold, italic, normal 중에 선택. - android: autoLink 속성 - TextView에 출력할 문자열을 분석해 특정 형태의 문자열에 자동으로 링크를 추가해준다. 만약 android:autoLink="web"으로 설정하면 문자열에 웹 주소가 ..