SearchViewの詰まったところ備忘録
久しぶりにSearchViewをさわると忘れているポイントが結構あったので、今更感がありますがメモ書きを残します。サンプルコードはKotlinです。
SearchViewをactionbarいっぱいに表示したい
SearchViewをAction Barに配置するとデフォルトで左側に謎の余白ができてしまう問題によく出会います。
SearchViewの android:layout_width
を match_parent
にしても効きません。
ポイントはmaxWidthを変えること。
override fun onCreateOptionsMenu(menu: Menu?): Boolean { this.menuInflater.inflate(R.menu.search_menu, menu) val menuItem = menu?.findItem(R.id.search_view) val searchView = menuItem?.actionView as SearchView searchView.maxWidth = Int.MAX_VALUE return super.onCreateOptionsMenu(menu) }
hint textの色を変えたい
SearchViewの中で定義されているidを使ってSeachView内のEditText(実際はEditTextをextendsした@hideなクラスであるSearchAutoComplete)にアクセスし、hint text colorを書き換えます。
(searchView.findViewById(R.id.search_src_text) as EditText) .setHintTextColor(ContextCompat.getColor(this, android.R.color.white))
他にもなんか思い出したら適宜追記したい。