7

当用户单击 ShareActionProvider 时,我有这个菜单: 在此处输入图像描述

我怎样才能改变它的背景颜色。我想我必须设计它,但我找不到任何地方。

4

2 回答 2

3

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

  1. ShareActionProvider.java可能首先负责
  2. ActivityChooserView.java看起来像使用的视图类,它导致......
  3. abc_activity_chooser_view.xml很可能是使用的视图,它已?attr/activityChooserViewStyle用作样式参考
  4. 查看第 75 行中的theme.xml产生:

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

很想听听这是否可行,因为我可能很快就会遇到同样的情况;)

于 2013-11-15T14:51:03.217 回答
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>

当然,这些样式必须在引用 Toolbar 的布局文件中引用:

<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,他为我指明了正确的方向。

于 2015-12-14T10:35:50.190 回答