问题描述
- 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>
解决方案
GONE除开不显示以外,所占用的区域也不会分配,所以剩下的区域是另一个独占了
解决方案二:
gone改为invisible即可
解决方案三:
layout_weight不是百分之一百等分,是根据所有设置的权重来分配占比的。
详细可以看看。
http://blog.csdn.net/zzf112/article/details/7034412
解决方案四:
感谢各位的解答,万分感谢
时间: 2024-11-08 20:20:22