Java Android 4.0自定义对话框-可能的错误?

Java Android 4.0自定义对话框-可能的错误?,java,android,Java,Android,我正在创建具有以下样式的自定义对话框: <style name="FullHeightDialog" parent="android:style/Theme.Dialog"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item> </

我正在创建具有以下样式的自定义对话框:

<style name="FullHeightDialog" parent="android:style/Theme.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
</style>
自定义对话框布局根目录与布局相对应,其中我用3个简单的按钮设置了LinearLayout

我希望对话框可以延伸到整个高度和内容宽度,在本例中是带有3个按钮的LinearLayout

它在安卓姜饼上运行良好,但在安卓4上,它的屏幕延伸率从未超过约40%。 在Android 4上,我必须通过编程设置:

LayoutParams params = getWindow().getAttributes();
params.width = LayoutParams.MATCH_PARENT;
使其按预期工作。即使如此,它也显示出非预期的结果,但并非完全可以接受


这是冰淇淋三明治的错误还是我做错了什么?

你的问题可能来自于
android:style/Theme.Dialog
,因为它会随着android版本的不同而变化

解决方案:

  • 完全定义您自己的风格,不参考android:style/Theme.Dialog
  • 参考android:style/Theme.Dialog,但在样式项中添加边距/填充布局定义
  • LayoutParams params = getWindow().getAttributes();
    params.width = LayoutParams.MATCH_PARENT;