SearchView
보통 안드로이드에서 검색 기능을 구현할 때, ToolBar 안에 검색 창을 구현하는 방법을 사용합니다.
이처럼 EditText 와 Button을 사용하여 구현할 수도 있지만, SearchView를 통해서도 구현이 가능합니다.
SearchView 사용하기
다음과 같이 레이아웃에 SearchView를 추가합니다.
<androidx.appcompat.widget.SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@color/white"
app:iconifiedByDefault="false"
app:queryHint="검색어를 입력하세요" />
- iconifiedByDefault : SearchView의 상태를 나타내는 속성
- true : SearchView가 기본적으로 접혀 있는 상태로 시작이 되며, SearchView의 아이콘을 클릭해야 검색할 수 있도록 창이 열립니다. (default)
- false : SearchView가 기본적으로 펼쳐 있는 상태로 시작이 되며, 검색 창을 클릭하면 바로 검색을 할 수 있습니다.
- queryBackground : SearchView의 형태를 지정하는 속성
- queryHint : SearchView에 hint를 표시해주는 속성
액티비티에서는 SearchView에서의 검색 및 검색어 변경 기능에 대해 처리할 수 있습니다.
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
// 검색 버튼 누를 때마다 호출
override fun onQueryTextSubmit(query: String?): Boolean {
return if (query?.isNotEmpty() == true) {
// 키보드를 내림
false
} else {
// 키보드를 내리지 않음
true
}
}
// 검색 창에서 글자가 변경이 일어날 때마다 호출
override fun onQueryTextChange(newText: String?): Boolean {
return true
}
})
728x90
반응형
'안드로이드 > UI' 카테고리의 다른 글
[Android] Navigation 사용하기 (0) | 2023.09.30 |
---|---|
[Android] CoordinatorLayout과 Bottom Sheet (0) | 2023.09.19 |
[Android] CardView (0) | 2023.08.22 |
[Android] View에 그림 그리기 (0) | 2023.08.07 |
[Android] WebView 사용하기 (0) | 2023.08.05 |