
android开发大部分都搭建UI,然后是业务操作,今天来学习常用的布局管理器线性布局LinearLayout。打开默认生成的activity_main.xml,更改根布局如下,我在这里使用的AndroidX下的
androidx.appcompat.widget.LinearLayoutCompat
<?xml version="1.0" encoding="utf-8"?>
垂直布局和水平布局
LinearLayout的属性orientation指定排列是横向布局还是纵向布局。默认是水平布局,也就是
android:orientation="horizontal",
我们添加一些button,可以看到如下

改成垂直布局
android:orientation="vertical"

下面来说两个重要属性,
android:layout_width="match_parent"
android:layout_height="wrap_content"
这两个属性是每个android控件都会用到的属性,有两个值可选
match_parent表示填满某个方向的空间,wrap_content 表示只占用控件自身的大小,
这里我们来举个 ,设置button的宽为match_parent,高为wrap_content
<?xml version="1.0" encoding="utf-8"?>
效果如下

我们更改代码如下
<?xml version="1.0" encoding="utf-8"?>
效果如下

设置button的高为match_parent
<?xml version="1.0" encoding="utf-8"?>
效果如下

设置宽高都为match_parent
<?xml version="1.0" encoding="utf-8"?>
效果如下

也可以设置为固定的值的,比如
android:layout_width="100dp"
<?xml version="1.0" encoding="utf-8"?>
效果如下

下面我们来讲一个LinearLayout内子控件排列的属性android:gravity="",有如下值可选

常用的有居中,我们演示一个center,其余的自己可以去尝试
<?xml version="1.0" encoding="utf-8"?>
效果如下

也可以在子控件内设置android:layout_gravity属性指定自己的位置
<?xml version="1.0" encoding="utf-8"?>
效果如下

最后我们在来讲解一个属性android:layout_weight 百分比属性 ,举个栗子
<?xml version="1.0" encoding="utf-8"?>

这里设置button1 占用空间为1/3 ,button2 占用剩余的2/3,或者在垂直方向上使用
<?xml version="1.0" encoding="utf-8"?>
效果如下

更多的大家可以自己去尝试,去举一反三,上面讲解的属性都是常用的基本属性,有问题的可以在下方评论,