ShareActionProvider菜单样式

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

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


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

  • ShareActionProvider.java可能首先是负责任的
  • ActivityChooserView.java看起来像使用的视图类,它导致...
  • abc_activity_chooser_view.xml最有可能是已使用的视图,它具有作为样式引用应用的?attr/activityChooserViewStyle
  • 查看第75行中的themes.xml收益率:

    <item name="activityChooserViewStyle">@style/Widget.AppCompat.ActivityChooserView</item>
    
  • 我很乐意听到这个说法是否有效,因为我很快就会遇到同样的情况;)


    所以,我做了什么样的编辑我们的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指导我朝着正确的方向发展。

    链接地址: http://www.djcxy.com/p/15857.html

    上一篇: ShareActionProvider menu style

    下一篇: Is it recommended to explicitly make overriding functions virtual?