Различные чертежи для панели действий split

Есть ли способ предоставить другой ярлык, если пункты меню будут перенесены на панель действий split? Мой цвет ярлыков разделов сильно отличается от верхнего бара, и один стиль значка не так визуально нравится, как я надеюсь.

Поместите Drawables которые вы хотите использовать для split /res/drawable/ и поместите остальные в /res/drawable-w480dp .

Вы можете использовать LevelListDrawable для значков и задавать уровень при изменении конфигурации экрана (что называется Activity.onCreate() .

  • Создайте чертеж, который будет использоваться в значках с

     <level-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:maxLevel="0" android:drawable="@drawable/**your bitmap dark**" /> <item android:maxLevel="1" android:drawable="@drawable/**your bitmap light**" /> </level-list> 
  • Обнаруживать, если ActionBar разделен или нет. Эта часть кажется сложной. Я использую SherlockActionBar, и там он работает (до сегодняшней версии Android) таким образом

  • Чтобы изменить один drawable, установите на соответствующем ActionBar.Tab уровень с getIcon().setLevel() . Обратите внимание, что вам не нужно бросать в LevelListDrawable . По какой-либо причине концепция уровня реализуется непосредственно с классом Drawable .

В библиотеке appcompat split ActionBar используется в конфигурациях, отличных от больших, land или sw480dp. Если вы используете собственный ActionBar, я думаю, вы можете пропустить большую конфигурацию.

split_action_bar_is_narrow

Затем, чтобы предоставить альтернативные чертежи, вы должны определить соответствующие ссылки в этих значениях dirs, например:

В values :

 <item name="action_search_drawable" type="drawable" format="reference">@drawable/ic_action_search_narrow</item> 

В values-w480dp :

 <item name="action_search_drawable" type="drawable" format="reference">@drawable/ic_action_search</item> 

Затем в конфигурации меню вы должны использовать эту ссылку в качестве значка.