본문 바로가기

안드로이드/XML

(5)
SearchView SearchView는 검색창을 구현할 때 사용한다. 보통 사용 유형은 Toolbar와 함께 사용하거나, SearchView를 따로 사용하는 유형이 있다. 1. SearchView iconifiedByDefault true : 아이콘 상태 >> 클릭 시 입력창 표시false : 항상 입력창 표시 binding.searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener{ override fun onQueryTextSubmit(query: String?): Boolean { // TODO Enter 입력 시 호출되는 함수 binding.searchView.c..
TimePicker TimePicker는 말 그대로 시간을 설정할 때 사용한다. 갤럭시 알림 앱에 시간을 선택하는 창이 대표적인 예이다. 사용 방법xml timePickerMode : TimePicker의 형태를 결정한다.clock : 아날로그 시계spinner : 디지털theme : TimePicker의 디자인 디자인 설정하는 방법우선 themes.xml에서 TimePicker 디자인에 대한 설정을 해주어야 한다. themes.xml...... timepicker.xml  textSize : 글씨 크기textColorPrimary : 글씨 색상colorControlNormal : 언더 바 색상android:color/transparent : 부모 색과 같게 설정, 투명이라고 보면 됨 데이터 처리val cal = Calen..
[Layout] CoordinatorLayout CoordinatorLayout 이란?위와 같이 Title과 같은 Toolbar를 상단에 크게 구성하며, 스크롤 시 Title만 남기고 나머지는 사라지는 효과를 주는 레이아웃이다. 반대로 스크롤하면 다시 나타난다. 구조 CoordinatorLayout의 구조는 위와 같다. 1. AppBarLayout: Toolbar를 포함한 상단을 다양한 방법으로 크게 구성하고 싶을 때 사용하는 레이아웃주로 이미지와 toobar를 조합하여 사용한다.  ex) 넷플릭스  app:fitsSystemWindows : 가능한 영역까지 확장해주는 기능    2. CollapsingToolbarLayout: 스크롤 시 접히는 부분으로 해당 레이아웃에서 고정 View를 제외한 나머지 View들은 스크롤 시 사라진다.AppBarLay..
[안드로이드] RecyclerView Click Event RecyclerView 목록 클릭 이벤트의 방법은 두 가지가 있다. 첫 번째는 Adapter 내부에서 setOnClickEvent를 이용하는 것 두 번째는 인터페이스를 이용하는 것이다. 인터페이스를 이용하면 Adapter가 아닌 Activity 또는 Fragment에서 이벤트에 대한 작업을 실행할 수 있다. Adapter interface OnItemClickListener { fun onItemClicked(data: String?) } // OnItemClickListener 참조 변수 선언 private var itemClickListener: OnItemClickListener? = null // OnItemClickListener 전달 메소드 fun setOnItemClickListener(li..
[안드로이드] RecyclerView 리사이클러뷰 개념 및 사용법 우리는 안드로이드 앱을 만들 때 어떠한 목록을 구현해야 될 상황이 생긴다. 구현할 데이터 리스트를 받아 화면에 띄워줘야 하는데, 받는 데이터의 개수는 유동적이며, 내용 또한 모두 다르기 때문에 우리가 하나하나 구현해 줄 수는 없다. 이를 해결하기 위해 처음에 나온 것이 ListView이며 ListView의 단점을 보완하여 다시 나온 것이 RecyclerView이다. RecyclerView와 ListView의 차이 ListView RecyclerView 스크롤로 인해 없어진 객체(목록)은 삭제되며, 반대로 추가로 보여지는 객체는 생성된다. 스크롤로 인해 없어진 객체는 삭제되지 않고 뒤쪽으로 재배치되어 재사용된다. 생성과 삭제가 반복되기에 비효율적이다. 객체를 재사용하기 때문에 효율적이다. 사용법 시작하기에..