android UI布局中layout_weight的问题,请高人指教

当我把占比例0.45的LinearLayout的visibility 设置为gone后,占比例为0.55的linearlayout就会占满全屏,请高人指教。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"

android:baselineAligned="false"
android:orientation="horizontal" >

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_margin="15dp"
    android:layout_weight="0.55"
    android:gravity="right"
    android:orientation="vertical"
    android:paddingTop="50dp" >

    <!--  <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >  -->

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:layout_marginTop="15dp" >

            <CheckBox
                android:id="@+id/rbtn_pedicure"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                 />
        </FrameLayout>

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginTop="15dp"
            android:layout_weight="1" >

            <CheckBox
                android:id="@+id/rbtn_thermal_method"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                 />
            <!-- android:paddingRight="1dp" -->
        </FrameLayout>

</LinearLayout>

<ImageView
    android:id="@+id/img_divider"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:scaleType="fitXY"
    android:text="devider" />


<LinearLayout 
    android:id="@+id/layout_music"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.45"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:layout_marginTop="15dp"
    android:paddingTop="50dp"
    android:visibility="gone"  出疑问的地方
    >
    <FrameLayout 
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        >
        <ImageView 
            android:id="@+id/music_play"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:scaleType="fitXY"
            />
    </FrameLayout>

</LinearLayout>

4个回答

GONE除开不显示以外,所占用的区域也不会分配,所以剩下的区域是另一个独占了

gone改为invisible即可

layout_weight不是百分之一百等分,是根据所有设置的权重来分配占比的。
详细可以看看。
http://blog.csdn.net/zzf112/article/details/7034412

感谢各位的解答,万分感谢

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐