我花了几个小时ActionMode
在里面选择文本时获得与Dialog
eg中相同的外观Fragment
。如果我在 , 中选择文本Fragment
,ActionMode
它看起来像是来自 Lollipop,如果在Dialog
4.3 中类似的话。
最烦人的是,有时它显示的是普通图标(灰色),但有时它们是白色的,所以你不知道你可以点击什么。我没有更多的想法,我尝试了我发现的一切:
- 自定义样式:actionModeStyle
- 在主样式中指定:actionModeBackground(也不适用于任何其他选项)
- 自定义 ActionMode.Callback (这个有效,但在默认 ActionMode 下显示)
- 更改了传递给AlertDialog.Builder的上下文主题,但它与例如片段中的不同。
使用 API21 编译的应用程序,目标 21,在 SGS3 上测试。使用 API20 编译不会改变任何东西,所以我不知道如何ActionMode
将外观更改为新设计。S3 适用于库存系统 4.3。
截图
在片段中
对话框 - 带有白色图标,有时它们是灰色的
对话框 - 将主题上下文传递给 Builder
是否有可能获得与Dialog
正常情况相同的内部外观Fragment
?还是无处不在Dialog
?在最后一次更新之前,我总是ActionMode
像第二张图片一样,但显示正确。