2012-01-06 7 views
5

Così ho DialogFragment che creo sul pulsante premere usato per selezionare alcune informazioni.Finestra di dialogo frammento Android che sembra ignorare layoutMargin o layoutWidth quando si utilizza weightSum

Sembra non importa quello che faccio se sto usando weightSum il diaglog riempirà lo schermo anche se ho specificato un layoutMargin o la larghezza del layout genitore.

Questo è su un Galaxy Tab in esecuzione 3.2 e utilizza la libreria Fragment predefinita non quella di compatibilità.

Qualsiasi suggerimento sarebbe utile.

Grazie

Di seguito è riportato il layout che sto utilizzando.

<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

Questo è strano, perché non v'è materia per la 'LinearLayout' come si specifica' weightSum', esplicitamente con attributo 'android: weightSum' o implicitamente specificando' layout_weight' per bambini. Ecco il codice, in cui viene utilizzato weightSum: 'float weightSum = mWeightSum> 0.0f? mWeightSum: totalWeight; ' –

+0

beh ho provato il codice sopra (layout) e 3.2 Motorola Xoom funziona come previsto (non riempiendo l'intero schermo). Quindi mi porta a pensare che forse c'è qualcosa nel tuo codice. – Raykud

+0

Penso che abbiamo uno Xoom che gira intorno ad alcuni dove, ma il mio cliente ha spec. Galaxy Tab. – draksia

risposta

0

Il suo strano per me perché android:weightSum si sta comportando in modo imprevisto mentre noi utilizzando il layout relativa all'interno del layout Liner.

ho provato il codice e avere in grado di gestire con tutta Liner layout ..

Prova questo ..

<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> 
Problemi correlati