Jon*_*ona 13 android android-support-library material-design
我不确定这是一个错误还是某种程度上我没有正确使用新的Toolbar类.
我能够使用一个可用的主题直接成功主题ActionBar.这也允许我主题ActionMode.一切都按预期完美.我就是这样做的.
<style name="Theme.ActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionModeBackground">@drawable/action_mode_background</item>
</style>
Run Code Online (Sandbox Code Playgroud)
现在我正在寻找更多的灵活性,所以我试图使用支持库中的新工具栏.完善工具栏并且工作正常,但是,现在操作模式不再按预期工作.自定义背景不起作用,操作模式栏正在按下工具栏.
为了解决推下问题我使用了标志windowActionModeOverlay.对我来说,动作模式不会成为工具栏的一部分很糟糕......:/
<style name="Theme.ActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowActionModeOverlay">true</item>
<item name="actionModeBackground">@drawable/action_mode_background</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在我的活动中,我执行以下操作以使我的工具栏成为默认的ActionBar.
Toolbar toolbar = (Toolbar) findViewById(R.id.toolBar);
setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)
现在我尝试了很多东西.我甚至尝试潜入源头来弄清楚发生了什么.
任何想法为什么会这样?如何设置ActionMode的样式?或者更具体地说,我如何更改ActionMode的背景?
更新1
我注意到,当添加<item name="windowActionBar">false</item>到我的活动主题时,操作模式会丢失其主题而不是将其设置为true.显然将其设置为true它将包括窗口操作栏.
更新2
我能够使用几个mods正确地获得主题的动作模式.
动作模式背景.事实证明你只需将ActionMode主题背景设置为android:background!此外,您需要在主题上指定它的文本.
windowActionModeOverlay
<item name="windowActionBar">false</item>
后箭头没有被设计样式.我覆盖了所使用的drawable,只是添加了我自己的白色.
windowActionModeOverlay
Jon*_*ona 16
好吧,在挖掘了支持库中的一些样式,主题,attrs和代码之后,我终于能够正确地设置动作模式的样式.
在我提出我的问题的解决方案之前,我必须提到支持库似乎有一个错误.当您隐藏窗口操作栏时,它似乎会松开操作模式的设置主题.我已经报告了一个错误,看他们是否解决了这个问题或提供了更多细节.
所以解决方案是基本上为背景,文本和关闭图标设置样式.这样做需要使用我自己的ActionMode样式并将属性指针更改为关闭图标.
的themes.xml
<style name="Theme.Main.Home">
<item name="windowActionModeOverlay">true</item>
<item name="actionModeStyle">@style/Widget.ActionMode</item>
<item name="actionModeCloseDrawable">@drawable/ic_arrow_back_white_24dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
styles.xml
<style name="Widget.ActionMode" parent="@style/Widget.AppCompat.ActionMode">
<item name="android:background">@drawable/action_mode_background</item>
<item name="titleTextStyle">@style/TitleTextStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)
actionModeBackground不能用于设置动作模式的背景.您必须通过android:backgroundActionMode样式的标准更改背景.actionModeCloseDrawableattr 添加了我自己的关闭图标.| 归档时间: |
|
| 查看次数: |
8330 次 |
| 最近记录: |