ShareActionProvider菜单样式

时间:2013-09-12 12:28:33

标签: android styles shareactionprovider

当用户点击ShareActionProvider时,我有这个菜单: enter image description here

如何更改背景颜色。我想我必须设计它,但我找不到任何地方。

2 个答案:

答案 0 :(得分:3)

如果没有关于如何应用样式的文档,您可能需要查看源代码。我实际上并没有尝试设置ShareActionProvider的样式,但我从代码中得到了一些线索:

  1. ShareActionProvider.java可能首先负责
  2. ActivityChooserView.java看起来像使用的视图类,导致...
  3. abc_activity_chooser_view.xml很可能是已使用的视图,其中?attr/activityChooserViewStyle已应用为样式参考
  4. 在第75行查看themes.xml收益率:

    <item name="activityChooserViewStyle">@style/Widget.AppCompat.ActivityChooserView</item>
    
  5. 很想知道这是否有效,因为我可能会很快处于相同的情况;)

答案 1 :(得分: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指出我正确的方向。