2012-01-06 11 views
5

Tak więc mam DialogFragment, który tworzę na przyciskach używanych do wyboru niektórych informacji.Okno dialogowe Android Fragment wydaje się zignorować layoutMargin lub layoutWidth przy użyciu weightSum

Wygląda na to, że bez względu na to, co robię, jeśli używam pliku weightSum, diaglog zapełni ekran, nawet jeśli podam layoutMargin lub szerokość układu nadrzędnego.

To jest na karcie Galaxy z systemem 3.2 i używanie domyślnej biblioteki fragmentów, a nie kompatybilności.

Wszelkie sugestie byłyby pomocne.

Dzięki

Poniżej znajduje się układ, którego używam.

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/LinearLayoutZoneDialog" 
    android:layout_width="400dp" 
    android:layout_height="300dp" 
    android:layout_gravity="center" 
    android:background="@drawable/modal_background" 
    android:orientation="horizontal" 
    android:padding="20dp" 
    android:weightSum="1" > 

    <ListView 
     android:id="@+id/zoneSelectListView" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight=".25" 
     android:divider="@color/trans" 
     android:listSelector="@android:color/transparent" 
     android:padding="25dp" 
     android:scrollbars="vertical" 
     android:scrollbarFadeDuration="0" > 
    </ListView> 


    <RelativeLayout 
     android:id="@+id/zoneSelectImageLayout" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight=".75" 
     android:gravity="center"> 

     <ImageView 
      android:id="@+id/zoneSelectMainImage" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@color/black_50_percent" 
      android:scaleType="fitCenter" /> 

     <ImageView 
      android:id="@+id/zoneSelectCloseImage" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentTop="true" 
      android:src="@drawable/modal_close" 
      android:padding="15dp" /> 

    </RelativeLayout> 

</LinearLayout> 
+0

To dziwne, bo nie ma kompetencji 'LinearLayout' jak określić' weightSum', jawnie z atrybutem 'android: weightSum' lub niejawnie, określając' layout_weight' dla dzieci. Oto kod, w którym użyto weightSum: 'float weightSum = mWeightSum> 0.0f? mWeightSum: totalWeight; ' –

+0

well Próbowałem twojego kodu powyżej (layout) i na 3.2 Motorola Xoom działa tak, jak powinien (nie wypełniając całego ekranu). Dlatego prowadzi mnie to do myślenia, że ​​być może jest w twoim kodzie. – Raykud

+0

Myślę, że mamy Xoom r. Gdzie indziej, ale mój klient ma specyfikację Galaxy Tab. – draksia

Odpowiedz

0

Jego dziwnie mi dlaczego android:weightSum nieoczekiwanie zachowuje się, a my za pomocą względna układ wewnątrz Layout Liner.

Próbowałem swój kod i mieć możliwość zarządzania całym Layout Liner ..

Spróbuj ..

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/LinearLayoutZoneDialog" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:weightSum="1" 
> 

    <ListView 
     android:layout_weight=".25" 
     android:id="@+id/zoneSelectListView" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 

     android:listSelector="@android:color/transparent" 
     android:scrollbars="vertical" 
     android:scrollbarFadeDuration="0" > 
    </ListView> 


    <LinearLayout 
     android:layout_weight=".75" 
     android:id="@+id/zoneSelectImageLayout" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     > 

     <ImageView 
      android:id="@+id/zoneSelectMainImage" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:scaleType="fitCenter" /> 

     <ImageView 
      android:id="@+id/zoneSelectCloseImage" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="15dp" 
      android:layout_gravity="right"/> 

    </LinearLayout> 
</LinearLayout> 
Powiązane problemy