线性布局的权重究竟是怎么一回事

本文详细解析Android中的LinearLayout布局,重点探讨权重属性的使用,包括权重的分配原理,不同宽度设置下的权重计算,并通过实例展示了分割线的添加和LinearLayoutCompat的使用。通过阅读,你将对线性布局的权重有更深入的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

如果你是新手,我建议你坚持看下去,因为你肯定不了解权重,而权重并没有那么简单。希望看完后对你有一定的帮助。

关于说什么专业不专业,或者app流畅,其实不存在这回事情。设置成0dp,wrap-content,以及match-parent是有很多道理可循的。

关于布局

上节中我们讲了一些TextView的基本用法,那么这节我们就来讲一些Android中的常见布局。

Android早期主要有六大布局:分别是线性布局(LinearLayout),相对布局(RelativeLayout),帧布局(FrameLayout),绝对布局(AbsoluteLayout),表格布局(TableLayout)以及网格布局(GridLayout),随着Android的逐步发展,Android的布局也在随之增多,例如百分比布局(PercentLayout)以及约束布局(ConstraintLayout)等等。

今天我们主要讲解LinearLayout的常见用法,先来一张超大的思维导图。

根据上面的思维导图来看,上面的部分属性我们在之前的TextView中已经讲过了,所以在本节中我们主要讲一些LinearLayout的特有属性。

LinearLayout篇

常见属性讲解

  1. layout-width: 不过多说了,控件宽度,必要属性。
  2. layout-height: 同上,控件高度,必要属性。
  3. id: 定义资源id,以方便在Java源文件中通过findViewById(R.id.xx)生成该控件的实例。
  4. orientation: LinearLayout中的控件排列方向。两种选择,垂直(vertical)或者水平(horizontal), 反正劳资想怎么摆就怎么摆。

比如你可以这样摆:(水平方向)

你可以这样摆:(竖直方向)

“咦, 我的第二个TextView呢?怎么不见了?“
仔细看一下,TextView001的宽度填充了屏幕的宽高,你肯定是把TextView001的height属性设置成了match-parent(fill-parent)。劳资打破你的钛合金头,上节课不是跟你讲了吗?再检查看看。

”哎哟,果然是这样,赶紧换成wrap-content或者自定义标签,比如200dp。啊哈,好了。“

  1. background: 给控件设置背景颜色,这个我们上节已经讲过。

剩下还有两个属性:layout-gravity以及gravity,这个我们暂时不讲,留到后面再讲。

权重讲解

1.关于权重最基本的用法

我们首先还是先来看一下实现的效果

实现代码:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.selfassu.layoutdemo.MainActivity">
    <TextView
        android:layout_weight="1"
        android:layout_width="0dp"
        android:background="#f00"
        android:layout_height="match_parent"
        android:text="LinearLayout爸爸,把你的位置分给我一半"/>
    <TextView
        android:background="#0f0"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height=
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值