当用户单击 ShareActionProvider 时,我有这个菜单:
我怎样才能改变它的背景颜色。我想我必须设计它,但我找不到任何地方。
当用户单击 ShareActionProvider 时,我有这个菜单:
我怎样才能改变它的背景颜色。我想我必须设计它,但我找不到任何地方。
如果没有关于如何应用样式的文档,您可能需要查看源代码。我实际上并没有尝试设置 ShareActionProvider 的样式,但我从代码中得到了一些线索:
?attr/activityChooserViewStyle
用作样式参考查看第 75 行中的theme.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,他为我指明了正确的方向。