自分のHoloテーマを生成するために、「 Android Action Bar Style Generator 」を使用しました。次に、2つのアイコンをアクションバーに追加しました。1つはsearchFilter用、もう1つはファイルピッカー用です両方のアイコンは白です。ファイルピッカーアイコン(右側)は適切に見えますが、検索アイコンが濃い灰色に見えます。検索テキストビューに入力すると、閉じるボタンも濃い灰色に見えます。
アクションバーの色とsearchviewの色を変更しようとしましたが、成功しませんでした。検索ビューにこの色が表示されるのはなぜですか?どうすれば変更できますか?
どうもありがとうございました。
[〜#〜] update [〜#〜]:アプリがアイコンを使用していると思いましたが、使用していません。デフォルトの検索を使用していますアイコンを表示するので、私の質問は実際には、検索ビューのデフォルトのアイコンを変更するにはどうすればよいですか? menu.xmlファイルの次の文は機能していません。
Android:icon="@drawable/selectable_header_search"
残念ながら、テーマ属性SearchView
は公開されていないため、searchViewSearchIcon
アイコンをカスタムドローアブルに変更する簡単な方法はありません。詳細は this 回答を参照してください。
しかし、あなたの問題は間違ったテーマから継承したことが原因だと思います。使ってください Android:Theme.Holo.Light.DarkActionBar
をテーマのベースとして使用します。次に、アクションバーのデフォルトのアイコンは明るい色になります。
<style name="AppTheme" parent="Android:Theme.Holo.Light.DarkActionBar">
...
</style>
SearchViewSearchIcon属性はパブリックではないため、次のコードを使用してアイコンを変更できます。
int searchIconId = searchView.getContext().getResources().getIdentifier("Android:id/search_button",null, null);
ImageView searchIcon = (ImageView) searchView.findViewById(searchIconId);
searchIcon.setImageResource(R.drawable........);
showAsActionこのオプションで設定してみてください:* MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW *
このオプションがないと、SearchViewはアクションボタンに設定したアイコンを取得しません。
menu.add("Search")
.setIcon(
getResources().getDrawable(
R.drawable.selectable_header_search))
.setActionView(searchView)
.setShowAsAction(
MenuItem.SHOW_AS_ACTION_ALWAYS
| MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
| MenuItem.SHOW_AS_ACTION_WITH_TEXT);
アクションバーのデフォルトのsearchviewアイコンを変更する最も簡単な方法は、onPrepareOptionsMenuにあります。あなたは私の答えを見ることができます ここ 同様の質問への=!
あなたのテーマスタイルにこれを含めてください:
<style name="YourTheme.Toolbar">
<item name="searchViewStyle">@style/YourActionBarSearch</item>
<item name="editTextColor">@color/your_ab_text_color</item>
<item name="Android:textColorHint">@color/your_ab_hint_color</item>
</style>
searchViewStyle
を使用してSearchViewのスタイルを定義できるようになりました。editTextColor
は検索ボックスのテキストの色を設定します。設定することにより Android:textColorHint
ヒントの色も設定します。 "探す..."。
<style name="YourActionBarSearch" parent="@style/Widget.Holo.SearchView">
<item name="searchIcon">@drawable/ic_ab_search</item>
<item name="queryBackground">@null</item>
<item name="submitBackground">@null</item>
<item name="searchHintIcon">@drawable/ic_ab_small_search</item>
<item name="defaultQueryHint">@string/toolbar_search_hint</item>
<item name="closeIcon">@drawable/ic_ab_small_search_close</item>
</style>
これにより、多かれ少なかれあなたの検索ビューのスタイルが決まります。フィールドsearchIcon
はアクションバーのアイコンです。フィールドsearchHintIcon
は、検索フィールドのヒントの左側にある小さなアイコンです。フィールドcloseIcon
は、検索フィールドの右側にある閉じるアイコンです。
より多くのスタイル設定については、これをチェックしてください:
$Android_SDK/platforms/Android-24/data/res/values/styles_holo.xml