2013-09-12 6 views
7

У меня есть это меню, когда пользователь нажимает на ShareActionProvider: enter image description hereShareActionProvider стиль меню

Как я могу изменить цвет фона. Полагаю, мне нужно стилизовать его, но я нигде не могу найти.

ответ

3

Возможно, вы захотите ознакомиться с исходным кодом, если нет документации о том, как применить стиль. На самом деле я не пытался стилизовать ShareActionProvider, но я получил довольно некоторые ключи от кода:

  1. ShareActionProvider.java, вероятно, отвечает в первую очередь
  2. ActivityChooserView.java выглядит как используемый класс представления, что приводит к .. .
  3. abc_activity_chooser_view.xml, скорее всего, используется вид, который имеет ?attr/activityChooserViewStyle применяется в качестве эталона стиля
  4. смотрит в themes.xml урожайность в линии 75:

    <item name="activityChooserViewStyle">@style/Widget.AppCompat.ActivityChooserView</item> 
    

Хотелось бы услышать, если это работает, как я мог бы быть в той же ситуации, в ближайшее время;)

0

Итак, что я сделал, чтобы стиль его был прав наш styles.xml.

<!-- ACTION BAR --> 
<style name="ToolbarTheme"> 
    <item name="android:textColorPrimary">#fff</item> 
    <item name="colorControlNormal">#fff</item> 
    <item name="colorControlHighlight">#3fff</item> 
    <item name="android:listPopupWindowStyle">@style/ToolbarPopupListStyle</item> 
    <item name="listPopupWindowStyle">@style/ToolbarPopupListStyle</item> 
    <item name="android:textAppearanceLargePopupMenu">@style/PopupMenuTextAppearance</item> 
    <item name="textAppearanceLargePopupMenu">@style/PopupMenuTextAppearance</item> 
</style> 
<style name="ToolbarStyle"> 
    <item name="android:background">?colorPrimary</item> 
    <item name="android:titleTextAppearance">@style/collapsedToolbarText</item> 
    <item name="titleTextAppearance">@style/collapsedToolbarText</item> 
</style> 

<style name="ToolbarPopupListStyle"> 
    <item name="android:popupBackground">#00ff00</item> 
</style> 
<style name="PopupMenuTextAppearance" parent="android:TextAppearance.Small"> 
    <item name="android:textColor">#ff0000</item> 
</style> 

Конечно, эти стили должны быть ссылки в файле макета, где ссылается на панели инструментов:

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="@android:color/transparent" 
    app:layout_collapseMode="pin" 
    app:theme="@style/ToolbarTheme" 
    style="@style/ToolbarStyle"/> 

У меня странное чувство, однако, что стили должны иметь родительский стиль. Но так получается.

Благодаря @Brian, который указал мне в правильном направлении.

Смежные вопросы