Android19 [Android] ListView 사용 ListView ListView는 사용자가 정의한 데이터 목록을 아이템 단위로 구성하여 화면에 출력하는 ViewGroup의 한 종류입니다. ListView의 아이템은 세로 방향으로 나열되고 아이템에 개수가 많아져 ListView의 크기를 넘어가게 되면 스크롤을 사용해 위치를 이동할 수 있습니다. ListView는 사용자가 정의한 대로 단순히 Text만 출력할 수도 있고 Image, Button 등 여러 View를 조합하여 Customizing 할 수 있습니다. ListView의 대표적인 사용 예로는 연락처가 있습니다. 먼저 ListView를 사용 하려면 데이터와 레이아웃을 이어주는 Adapter를 사용해야 합니다. 순서로는 layoutmain에서 listview가 표시 될 위치를 만들고 데이터를 정의한 .. 2021. 2. 15. [Android] View Binding 뷰 바인딩은 뷰와 상호작용 하는 코드를 보다 쉽게 작성할 수 있는 기능입니다. 모듈의 build.gradle에서 뷰 바인딩 속성이 활성화되면 해당 모듈에 있는 각 XML레이아웃 파일에 대한 바인딩 클래스가 자동으로 생성됩니다. 바인딩 클래스 인스턴스에는 해당 레이아웃에 ID가 있는 모든 뷰에 대해 직접적으로 참조됩니다. 대부분의 경우에 뷰 바인딩이 findViewById메서드를 대체할 수 있습니다. ViewBinding 설정하기 뷰 바인딩은 각 모듈별로 활성화됩니다. 모듈에서 뷰 바인딩을 사용하려면 아래의 코드와 같이 요소를 build.gradle파일에 추가합니다. viewBinding { enabled = true } 추가한 뒤 sync now를 눌러 싱크를 맞춰줍니다. 뷰 바인딩 클래스를 생성하는 동.. 2021. 2. 1. [Adroid] Activity LiftCycle 액티비는 아래 그림과 같이 생명주기(LiftCycle)를 가지고 있습니다. 이 생명주기에 따라 적절한 메서드가 호출되므로 이를 숙지해서 액티비티를 작성해야 합니다. 액티비티의 생명주기는 onCreate() > onStart() > onResume() > onPause > onStop() > onDestroy 순으로 실행되며 경우에 따라서 onRestart() 메서드가 호출되기도 합니다. 각각의 순서에 대한 설명은 아래의 표에서 참고하시면 됩니다. 메소드 설명 다음 메소드 onCreate() 액티비티가 생성될 때 호출되며 사용자 인터페이스 초기화에 사용됨. onStart() onRestart() 액티비티가 멈췄다가 다시 시작되기 바로 전에 호출됨. onStart() onStart() 액티비티가 사용자에게 .. 2021. 2. 1. [Android] Layouts ConstraintLayout ConstraintLayout은 레이아웃 구성 시 뷰, 위젯 등의 위치와 크기를 유연하게 조절할 수 있게 만들어 주는 레이아웃입니다. Constraint의 뜻을 보면 제약, 조건, 제한, 구속이라는 뜻이 존재하는데 이는 레이아웃에 배치되는 뷰들에 여러 제약을 적용하여 각 뷰의 위치와 크기를 결정합니다. 여기서 말하는 제약이란. 특정 뷰 왼쪽으로 지정된 뷰를 오른쪽 사이드에 맞추거나 뷰의 왼쪽 오른쪽을 각각 부모 레이아웃의 왼쪽 오른쪽에 맞추는 것 등을 말하며 이러한 각각의 제약은 ConstraintLayout이 가지는 하나의 레이아웃 속성으로 매핑됩니다. 기본 속성 사용법 ConstraintLayout에서 제공하는 속성의 이름은 "layout_constraint"로 시작하며.. 2021. 1. 28. [Android] Palette (Helper) Group group는 ConstraintLayout에서 제공하는 helper 중 하나로 여러 뷰들의 visibility를 그룹으로 묶어 관리하기 편하게 해 줍니다. ConstraintLayout으로 뷰를 구성하면 모든 뷰들이 플랫 하게 존재해서 visibility를 한 묶음으로 변경해야 할 경우 코드가 길어질 수밖에 없지만 그룹을 이용해 여러 뷰들을 묶어주게 되면 코드가 간결해집니다. Barrier(Horizontal)/(Vertical) Barrier을 이용하여 뷰들의 크기가 런타임으로 변할 때 적합한 제약조건을 생성할 수 있습니다. 해당 Barrier에 연관된 뷰 들은 크기/위치가 Barrier에 맞게 변경이 됩니다. Barrier는 start, top, end, bottom 중 하나의 위치로 지정.. 2021. 1. 27. [Android] Focus 뷰와 사용자가 상호 작용을 하기 시작할 때 그 뷰는 Focus를 가졌다고 합니다. 간단한 예시로 EditText가 있으며 EditText를 터치하면 키보드가 나타나면서 EditText와 상호 작용을 할 수 있게 되는데 이때 EditText는 Focus를 가지게 됩니다. Focus를 갖기 위해 Focusable의 속성이 true가 되어야 하는데, EditText의 경우 별도의 작업 없이 true값을 갖지만 TextView와 같은 태그들은 임의로 속성값을 바꾸어 주어야 합니다. ex) xml에서 해당 태그에 android:focusable="true" android:focusableInTouchMode="true" 를 추가해 주거나 findViewById(R.id.button).requestFocus() k.. 2021. 1. 27. 이전 1 2 3 4 다음 반응형