【问题标题】:ShareActionProvider menu styleShareActionProvider 菜单样式
【发布时间】:2013-09-12 12:28:32
【问题描述】:

当用户点击 ShareActionProvider 时,我有这个菜单:

如何更改其背景颜色。我想我必须设置它的样式,但我找不到任何方法。

【问题讨论】:

    标签: android styles shareactionprovider


    【解决方案1】:

    如果没有关于如何应用样式的文档,您可能需要查看源代码。我实际上并没有尝试设置 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>
      

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

    【讨论】:

      【解决方案2】:

      所以,我对它的样式所做的就是编辑我们的 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 为我指明了正确的方向。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-24
        • 2013-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-21
        • 2018-01-29
        相关资源
        最近更新 更多