2017年08月02日

[Android] SearchViewの×(close)ボタンを押したときの挙動を変更する

ソフトウェアキーボードが出ている状態で×を押すとソフトウェアキーボードが出てきてうざかったから変更した。

android.support.v7.appcompat.R.id.search_close_btn」のクリックイベントを上書きすれば出来た。めでたしめでたし。

searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
searchView.setQuery("", false);
searchView.clearFocus();
}
});
posted by すとれん at 12:00 | Comment(0) | Android開発ネタ | このブログの読者になる | 更新情報をチェックする
2017年07月25日

[Android] NavigationViewのメニューの文字色とアイコン色を変更する

メモ。

NavigationViewの属性で以下を設定

app:itemIconTint="@color/black"
app:itemTextColor="@color/black"
posted by すとれん at 21:00 | Comment(0) | Android開発ネタ | このブログの読者になる | 更新情報をチェックする
2017年07月24日

[Android] SearchViewの虫眼鏡アイコンを非表示にする

なんとしてもSearchViewの虫眼鏡アイコンを表示したくない!って方向け。
final SearchView searchView = (SearchView) findViewById(R.id.searchView);
//虫眼鏡アイコンを最初表示しない
searchView.setIconifiedByDefault(false);
//最初から入力状態にする
searchView.setIconified(false);
//Submitボタンを表示しない
searchView.setSubmitButtonEnabled(false);

// 虫眼鏡アイコンを消す
ImageView icon = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_mag_icon);
icon.setAdjustViewBounds(true);
icon.setMaxWidth(0);
icon.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
icon.setImageDrawable(null);

// 起動直後だとフォーカスハズレないので少し待って外す
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
searchView.clearFocus();
}
}, 100);


SearchViewは今まで使ったこと無かったけど、使い勝手が悪い気がしている。。。
そもそもここまでするんだったらEditTextで良くないか・・・?と。
使ってみたかったから使ってみたけど、利点がいまいちわからない(調べてない
posted by すとれん at 21:00 | Comment(0) | Android開発ネタ | このブログの読者になる | 更新情報をチェックする