バックグラウンド
アプリにマテリアル デザイン スタイルを追加する作業を行っているため、アクション バーとステータス バーに別の色を選択しました。
問題
このため、アプリのテーマは「Theme.AppCompat.Light.DarkActionBar」であり、アクション バーをツールバーとして処理する必要があるため、アクション バーを非表示にするためにこれを追加しました。
私が使用したテーマ:
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="windowActionModeOverlay">true</item>
</style>
私が使用したレイアウト:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/activity_app_list__toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="?attr/actionBarTheme"
tools:ignore="UnusedAttribute"/>
</LinearLayout>
コード:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
_toolbar=(Toolbar)findViewById(R.id.activity_app_list__toolbar);
setSupportActionBar(_toolbar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.menu_main,menu);
return super.onCreateOptionsMenu(menu);
}
そして、何らかの理由で私はこの動作を取得します:
- アクション項目とオーバーフロー項目のサブメニューは黒です。
- 検索アクション アイテムをクリックすると、オーバーフロー アイテムが白くなります。
これらのポップアップ メニューをカスタマイズして、一貫性を持たせたいと考えています。
私が試したこと
私はこれを使ってみました:
<item name="actionOverflowMenuStyle">@style/OverflowMenu</item>
...
<style name="OverflowMenu" parent="Widget.AppCompat.Light.PopupMenu.Overflow">
</style>
しかし、それはまったく役に立ちませんでした。
質問
誰もこれを処理する方法を知っていますか? これはサポート ライブラリのバグですか?
私にはこのように見えるので、サンプルプロジェクトを含めてここに報告しました。