Android 布局控件之LinearLayout详细介绍
什么是LinearLayout
LinearLayout是Android中最基本的布局控件之一,它是一个线性布局,可以水平或垂直排列子控件。LinearLayout通过设置gravity属性实现居中、左对齐、右对齐等布局方式。
创建LinearLayout
在xml文件中创建一个LinearLayout的例子:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, World!"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me"/>
</LinearLayout>
上述代码中,创建了一个垂直方向的LinearLayout,并设置为居中对齐。里面包含了一个TextView和一个Button两个子控件。其中,orientation属性设置LinearLayout的方向,可以设置为horizontal水平方向或者vertical垂直方向,gravity属性设置子控件在父控件中的分布方式。
线性布局的权重
LinearLayout还支持子控件的权重分配,通过layout_weight属性来实现。例如:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, World!"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Click Me"
android:layout_weight="1"/>
</LinearLayout>
上述代码中,Button控件的layout_width属性设置为match_parent,即充满整个父控件,同时设置layout_weight属性为1,表示占用剩余空间的1/3,因为另一个子控件是TextView是wrap_content。
实例一:水平布局
LinearLayout能够实现垂直布局和水平布局,以下是一个水平布局的例子:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名:"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入姓名"/>
</LinearLayout>
上述代码中,创建了一个水平方向的LinearLayout,并设置为居中对齐。里面包含了一个EditText和一个TextView两个子控件。其中,orientation属性设置LinearLayout的方向为horizontal,gravity属性设置子控件在父控件中的分布方式为居中。
实例二:纵向布局
LinearLayout同样支持垂直方向的布局,以下是一个纵向布局的例子:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="教育程度:"/>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="小学"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="初中"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="高中"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="大学"/>
</RadioGroup>
</LinearLayout>
上述代码中,创建了一个垂直方向的LinearLayout,并设置为居中对齐。里面包含了一个TextView和一个RadioGroup两个子控件。RadioGroup可以包含多个RadioButton,这些RadioButton会显示在一个列表里。
总结
通过上述文本的阅读可以了解到LinearLayout的基本用法、特性和实现方式,能够用LinearLayout实现水平或垂直布局,权重分配和组合使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android 布局控件之LinearLayout详细介绍 - Python技术站