我@android:style/Theme.Holo.Dialog
在 Ice Cream Sandwich 中使用 Holo Dialog 主题 ( ) 的活动遇到了一些奇怪的问题。
似乎他们忽略了他们的布局并填充了整个屏幕,而不是他们的 XML 布局中的布局宽度和高度。相同的布局在 Honeycomb 中可以正常工作,但在 Ice Cream Sandwich 上却没有。
例子:
正确的方法(蜂窝)
错误的方式(冰淇淋三明治)
两台设备都运行完全相同版本的应用程序,并且使用完全相同的布局。这是有问题的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="940dp"
android:layout_height="600dp"
android:layout_margin="10dp" >
<GridView
android:id="@+id/gridView1"
android:layout_width="940dp"
android:layout_height="600dp"
android:horizontalSpacing="10dp"
android:numColumns="3"
android:smoothScrollbar="true"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" >
</GridView>
</LinearLayout>
关于如何解决这个问题的任何想法?我的基于 ICS 的 Galaxy Nexus 也出现了类似的问题,它完全忽略了match_parent
高度和宽度的标签。ICS 中的对话框主题是否损坏?
更新:
我做了一些更多的测试,似乎 894dp 或更少的宽度会产生“正确”的外观,但如果我将宽度设置为 895dp 或更大,这将是不正确的外观。模拟器的行为方式相同。这非常奇怪……