Что не так с темой Holo Dialog в ICS?

Я столкнулся с немного странной проблемой с деятельностью, использующей тему Holo Dialog (@android:style/Theme.Holo.Dialog) в Ice Cream Sandwich.

Кажется, что они игнорируют свои макеты и заполняют весь экран вместо ширины и высоты макета из их XML-макетов. Те же макеты работают, как и ожидалось, в Honeycomb, но не в Ice Cream Sandwich.

Пример:

Правильный способ (Honeycomb) enter image description here

Неправильный способ (Ice Cream Sandwich) enter image description here

На обоих устройствах запущена одна и та же версия приложения и используется один и тот же макет. Вот макет, о котором идет речь:

<?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>

Есть идеи, как это можно решить? Аналогичная проблема возникает на моем Galaxy Nexus на базе ICS, который полностью игнорирует тег match_parent для высоты и ширины. Сломана ли тема диалога в ICS?

Обновление:

Я провел еще несколько тестов, и похоже, что ширина 894 дп или меньше будет иметь "правильный" вид, но если я установлю ширину 895 дп или больше, это будет неправильный вид. Эмулятор ведет себя так же. Это очень странно...

enter image description here

18
задан Michell Bak 6 February 2012 в 16:51
поделиться