t03330130
t03330130
采纳率25%
2015-03-03 05:30 阅读 1.8k

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条回答 默认 最新

  • 已采纳
    ywfxll 沈醉在夢 2015-03-03 05:34

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

    点赞 1 评论 复制链接分享
  • ywfxll 沈醉在夢 2015-03-03 05:33

    gone改为invisible即可

    点赞 1 评论 复制链接分享
  • danielinbiti danielinbiti 2015-03-03 05:33

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

    点赞 评论 复制链接分享
  • t03330130 t03330130 2015-03-03 05:42

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

    点赞 评论 复制链接分享

相关推荐