注:见我最后编辑的可能是最好的解决方案
对于它的价值,我认为这是一个错误。但是,我发现有效的解决方法是使用@style/Base.Theme.AppCompat.Light.Dialog.FixedSize
。根据你的截图,我认为这也适用于你。但是,我还没有测试调色板着色。
从我的测试中可以看出,这扩展了灰色边框,同时仍允许使用AppCompat和v21。
编辑:一个副作用是现在看来,所有的对话活动是相同的大小,这可能不适合你。另外,我还没有想出如何去掉标题 - requestWindowFeature和supportRequestWindowFeature与Window.FEATURE_NO_TITLE似乎导致
java.lang.RuntimeException: Unable to start activity ComponentInfo{myclass}:
android.util.AndroidRuntimeException: requestFeature() must be called before adding content
即使我之前和之后super.onCreate和的setContentView
之前肯定尝试过
编辑#2:通过XML主题删除标题,并且由于您没有标题,所以您不必担心会出现奇怪的灰色框,这意味着您可以删除FixedSize设置,并且对话框将自动包装它的内容。早期版本。
<style name="MyActivityDialogTheme" parent="Base.Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
编辑#3:你也可以简单地删除灰色背景 - 这可能是最好的解决方案,因为它不需要基础。前缀:
<style name="MyTitledActivityDialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">false</item>
<item name="android:windowTitleBackgroundStyle">@android:color/transparent</item>
<item name="windowActionBar">false</item>
</style>
“我知道,因为这个职位的谷歌还没有被添加在程序兼容性库材料主题” =>您已经错过了公告! [AppCompat v21 - Pre-Lollipop设备的材料设计!](http://android-developers.blogspot.in/2014/10/appcompat-v21-material-design-for-pre.html) – 2014-10-27 19:27:04
@PareshMayani哦,对不起,我输错了,我毫无疑问多次阅读该页面!我听说,他们还没有在'Dialog'中加入M.D.主题。 (现在我想到了,这是否甚至包括对话框主题,它不同于Dialog对象?) – KickingLettuce 2014-10-27 19:30:15
'Theme.AppCompat.Light.Dialog'确实扩展了'android:Theme.Material.Light.Dialog' 。你使用什么代码来创建对话活动? – ianhanniballake 2014-10-27 19:59:48