【发布时间】:2013-09-12 12:28:32
【问题描述】:
当用户点击 ShareActionProvider 时,我有这个菜单:
如何更改其背景颜色。我想我必须设置它的样式,但我找不到任何方法。
【问题讨论】:
标签: android styles shareactionprovider
当用户点击 ShareActionProvider 时,我有这个菜单:
如何更改其背景颜色。我想我必须设置它的样式,但我找不到任何方法。
【问题讨论】:
标签: android styles shareactionprovider
如果没有关于如何应用样式的文档,您可能需要查看源代码。我实际上并没有尝试设置 ShareActionProvider 的样式,但我从代码中得到了一些线索:
?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>
当然,这些样式必须在引用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 为我指明了正确的方向。
【讨论】: