2012-01-06 30 views
5

所以我在DialogFragment上创建了按钮按钮用于选择一些信息。Android Fragment对话框在使用weightSum时出现忽略layoutMargin或layoutWidth

看来不管我做什么,如果我使用weightSum的diaglog将填充屏幕,即使我指定layoutMargin或父布局的宽度。

这是在运行3.2的Galaxy Tab上使用默认的Fragment库而不是兼容的。

任何建议将有所帮助。

谢谢

下面是我使用的布局。

<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

这是奇怪的,因为有你如何指定'不管了'LinearLayout' weightSum',无论是显式地使用'android:weightSum'属性,还是通过隐式指定儿童的'layout_weight'。这里是使用weightSum的代码: 'float weightSum = mWeightSum> 0.0f? mWeightSum:totalWeight;' – 2012-03-28 06:52:17

+0

以及我已经尝试过你的代码(布局)和3.2摩托罗拉Xoom的工作原理应该是(不填满整个屏幕)。因此,它使我认为可能是在代码中。 – Raykud 2012-03-30 19:56:39

+0

我认为我们有一个Xoom铺设在一些地方,但是我的客户已经指定了Galaxy Tab的。 – draksia 2012-03-30 21:11:44

回答

0

它很奇怪,我为什么android:weightSum,同时我们使用内胆里面的布局相对布局出乎意料的表现。

我已经试过你的代码,并且能够与所有班轮布局管理..

试试这个..

<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> 
相关问题