android:layout_weight常见属性解析


1.常见的属性android:baselinerAligned

大家可以看到比例是1:2:3

可以看到,第一个TextView 和其他TextView对其方式并不是齐平的,也就是不符合我们的预期

那么为什么会发生这种现象呢!


先给大家化一条线

大家可以看到,相对于第一行文本而言他是对其的,虽然对于控件来说他们不是对其的。

那这是为什么呢?

TextView 会参考LinearLayout中的android:baselineraligned属性也就是基线。

那如何才能避免这个问题呢?

就会产生预期的效果。

2.假设我们把第一个宽度设置为android:layout_width="wrap_content",那么大家可以预期一下当前宽度是否还是1:2:3

现在看一下效果图


并不符合我们的预期,TextView1的宽度  明显>TextView2,也就是说并不是按照1:2:3来排序的

也就是说wrap_content 的确影响到了TextView在父控件所占据的宽度

那么这里说明了一个问题?


3.常见的属性android:weightsum:



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#ECECEC" android:padding="10dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.4" android:orientation="horizontal"> <ImageView android:padding="2dp" android:layout_width="30dp" android:layout_height="30dp" android:src="@drawable/img_jisuanqi"/> <TextView android:layout_width="0dp" android:layout_height="30dp" android:layout_weight="1" android:text="计算器" android:textColor="#000000" android:textSize="15sp" android:layout_marginLeft="8dp" android:gravity="center_vertical"/> <ImageView android:layout_width="60dp" android:layout_height="30dp" android:src="@drawable/img_jianhao" android:padding="6dp"/> <ImageView android:layout_width="60dp" android:layout_height="30dp" android:padding="6dp" android:src="@drawable/img_square"/> <ImageView android:layout_width="60dp" android:layout_height="30dp" android:padding="6dp" android:src="@drawable/img_cha"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.6" android:orientation="horizontal" android:layout_marginTop="10dp" android:gravity="center"> <ImageView android:padding="6dp" android:layout_width="30dp" android:layout_height="30dp" android:src="@drawable/img_gang"/> <TextView android:layout_width="wrap_content" android:layout_height="match_parent" android:text="标准" android:textColor="#000000" android:textSize="30sp" android:textStyle="bold" android:layout_marginLeft="8dp" android:gravity="center_vertical"/> <ImageView android:layout_width="0dp" android:layout_height="30dp" android:layout_weight="1" android:scaleType="fitStart" android:src="@drawable/img_top"/> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:padding="6dp" android:src="@drawable/img_lishi"/> </LinearLayout>解析
10-21
<? xml version = "1.0"encoding = " utf-8" ? > android : layout_width = " match_parent" <LinearLayout xmlns: android = " http://schemas.android.com/apk/res/android" android :layout_height = " match_parent" android: orientation = " vertical" ><HorizontalScrollView android: layout_width = " wrap_content" android:layout_height = " 0dp" android:layout_weight ="1" android:scrollbars = " none" >< LinearLayout android:layout_width = " wrap_content" android:layout_height = " match_parent" android :orientation = " horizontal" ><View android: layout_width = "300dp" android :layout_height = " match_parent" android:background = "@color/red"/ ><View android:layout_width = "300dp" android ;layout_height = " match_parent" android:background = " @color/green"/ ><View android :layout_width ="300dp" android :layout_height = " match_parent" android:background = " @color/blue"/></LinearLayout ></HorizontalScrollView ><ScrollView android :layout_width = " match_parent"android :layout_height ="0dp" android :layout_weight ="1" android : scrollbars = " none" ><LinearLayout android :layout_width = " match_parent" android :layout_height = " wrap_content" android :orientation =" vertical" ><View android :layout_width = " match_parent" android :layout_height ="200dp" android:background =" @color/yellow"/ ><View android:layout_width = " match_parent" android :layout_height ="200dp" android;background =" @color/cyan"/ ><View android :layout_width = " match_parent" android:layout_height ="200dp" android :background = " @color/blue"/> </LinearLayout ></ScrollView>/LinearLayout >修正补全
09-18
给你一个布局参考: <?xml version="1.0" encoding="utf-8"?> <!-- 标题部分 --> <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="center" android:text="更新成功" android:textSize="24sp" /> <!-- 版本信息部分 --> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1.5" android:orientation="vertical" android:gravity="center_horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="目标更新版本:202506" android:textSize="18sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="当前版本:202506" android:textSize="18sp" /> </LinearLayout> <!-- 对勾图标部分 --> <ImageView android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1.5" android:layout_gravity="center" android:src="@drawable/ic_check" /> <!-- 这里需要替换为实际的对勾图标资源 --> <!-- 提示文字部分 --> <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="center" android:text="恭喜您,数据更新成功" android:textSize="18sp" /> <!-- 按钮部分 --> <Button android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:layout_gravity="center" android:text="我知道了" /> </LinearLayout> 详细的说清楚整个布局的像素框位置和内容
09-06
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:ignore="ExtraText"> <!--图片按钮--> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_server"/> <!--开关按钮--> <ToggleButton android:layout_width="wrap_content" android:layout_height="wrap_content"/> <!--选择按钮--> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content"/> <!--下拉列表--> <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:backgroundTint="@color/black"/> <!--引用自定义形状--> <!-- <ImageView android:src="@drawable/sb" 这个属性的作用是让视图能够响应点击事件。 android:clickable="true" --> 这个属性的功能是将视图的点击事件和 Activity 里的方法关联起来。 android:onClick="loginWithQQ" --> 使用 CardView 实现圆角和阴影效果 每个按钮使用CardView作为容器 通过app:cardCornerRadius="12dp"设置圆角 通过app:cardElevation="4dp"添加阴影 设置app:cardBackgroundColor替代原有的backgroundTint <!--<权重分配> android:layout_weight="1" android:layout_weight="2" android:layout_weight="3" </权重分配>--> <!--垂直下滑格式--> <!--垂直下滑容器--> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0000000000" android:textSize="20sp" android:textColor="@color/black"/> <ImageView android:layout_width="match_parent" android:layout_height="180dp" android:src="@drawable/hutao" android:scaleType="centerCrop"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0000000000" android:textSize="20sp" android:textColor="@color/black"/> <ImageView android:layout_width="match_parent" android:layout_height="180dp" android:src="@drawable/hutao" android:scaleType="centerCrop"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0000000000" android:textSize="20sp" android:textColor="@color/black" /> <ImageView android:layout_width="match_parent" android:layout_height="180dp" android:src="@drawable/hutao" android:scaleType="centerCrop"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0000000000" android:textSize="20sp" android:textColor="@color/black"/> <ImageView android:layout_width="match_parent" android:layout_height="180dp" android:src="@drawable/hutao" android:scaleType="centerCrop"/> </LinearLayout> </ScrollView> <!--垂直下滑容器--> </LinearLayout>错误分析
08-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值