Android/Android UI
[Appbar] - Toolbar
앱바AppBar(=ActionBar) vs 툴바Toolbar 안드로이드의 역사와 관련이 있습니다. 안드로이드 버전 3.0부터 디폴트 테마(Theme)를 사용하는 모든 액티비티는 ActionBar를 app bar로 사용한다고 합니다. 그런데 새로운 버전의 안드로이드가 출시되면서 app bar 피쳐들이 점점 더 natvie ActionBar(OS에 기본적으로 포함된 ActionBar를 의미함. 반대되는 개념으로 지원 라이브러리에 포함된 ActionBar가 있음)에 추가되었고 그 결과 native ActionBar는 Android OS 버전에 따라 다르게 동작되는 문제가 생겼습니다. 이와 대조적으로 최신 피쳐들은 지원 라이브러리에 포함된 Toolbar에 추가되고 있어, 지원 라이브러리를 사용할 수 있는 모든 ..
View를 만드는 가장 기본적인 방법, LayoutInflater
LayoutInflater는 안드로이드에서 View를 만드는 가장 기본적인 방법입니다. Fragment의 View를 만들거나 Recyclerview에서 View 를 merge 할 때 등 여러곳에서 사용됩니다. LayoutInflater를 사용하는 방법과 더불어 비동기적으로사용 하는 방법을 알아보자 LayoutInflater 생성하는 방법 1. Context에서 getLayoutInflater() 함수로 가져오기 val inflater: LayoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) - 가장 기본적인 방법 2. Activity에서 getLayoutInflater()함수를 통해 가져오기 val inflater: Layou..
android custom ui
안드로이드에서는 기본적으로 버튼, 텍스트뷰 등 기본적인 ui를 제공해줍니다. 모든 ui들은 view클래스를 상속받아 만들어집니다. 이중에서 viewGroup을 상속받은 ui들을 layout이라 하고 나머지를 wiget이라 합니다. viewGroup 을 상속받은 layout들은 자식뷰를 가질 수 있기때문에 이를 배치하는 역할을 합니다. 하지만 내가 custom해서 직접 ui를 만들어 사용할 수 도 있습니다. 자신만의 button 이나 View를 만들고 싶다면 View 클래스를 상속 받아서 필요한 메소드들을 오버라이드 하면됩니다. Custom View 는 View 클래스를 상속하여 만들고, Custom Layout 은 Viewgroup 클래스를 상속하여 만듭니다. View 메소드 호출 순서 View 오버라이..
[Android AdapterView] : ListView, RecyclerView
Adapter View 개발자는 화면의 다양한 View 들을 배치해 화면을 구성하게 된다. 대부분의 뷰들은 배치를 하면 기본적으로 정해진 속성에 따라 모양이 구성된다. 하지만 일부 View 들은 스스로 결정할 수 없는 부분이 있어 개발자가 반드시 데이터를 설정해야만 구성이 가능하다. 이렇게 개발자가 반드시 설정해야 화면을 구성할 수 있는 View 들을 가르켜 Adapter View라고 부른다. Adapter Class Adapter View 들은 View 구성하기 위해서 개발자가 다양한 데이터를 설정해줘야 한다. 이러한 데이터를 관리하는 Class 를 Adapter Class라고 부른다. Adapter Class는 사용 목적이나 적용할 View 에 따라 다양하게 제공되고 있으며 원한다면 직접 생성해서 사..
[View]: Widget, layout
매일 써왓던 기초적인 안드로이드 UI이지만 코틀린기반 안드로이드를 배우는김에 (조금은 지루하더라도) 전체적으로 다시 정리해보기로했습니다. ^^ Views = Widget(View) + Layout(Viewgroup) 안드로이드에서 눈에 보이는 모든 요소를 View라고 부르고, 개발자가 배치하는 모든 View 들은 Class로 제공되는데 모두 View라는 클래스를 상속받고 있습니다. ViewView 클래스는 모든 UI 요소들의 부모 클래스로써 Widget과 Layout으로 나뉩니다. View(android.view.View) 클래스는 화면의 사각형 영역에 있는 콘텐츠나 화면 레이아웃을 담당합니다. 즉 화면영역에 오브젝트들을 배치하고, 위치를 재고, 그리고, 포커싱을 바꾸고, 스크롤을 하는 등의 일을 합니다..