马上注册,解锁更多高级玩法
您需要 登录 才可以下载或查看,没有账号?立即注册
×
XML 基础教程~基本布局认识
教程原址:原生UI 之布局
EasyClick 原生UI之布局本节只讲用的非常多的几个布局,后面高级教程会添加几个高级布局。 - LinearLayout 线性布局
- FrameLayout 帧布局
- RelativeLayout 相对布局
- ScrollView 滚动框布局
- RadioGroup 单选布局
- include 引用布局
LinearLayout 线性布局说明LinearLayout,中文意思就是线性布局, 在实际开发中比较常用的布局,它主要以水平和垂直的方式来显示界面中的控件。 在线性布局中,线性布局管理器允许为每一个子视图指定一个 weight(权重) 属性,以控制每一个子视图在空间内的大小。 而线性布局中的 orientation 属性则是用于控制控件的排列方向。 [XML] 纯文本查看 复制代码 android:orientation="vertical" 属性将其指定为垂直线性排列;
android:orientation="horizontal" 属性将其指定为水平线性排列;
私有属性
属性名 | 说明 | 可选值 | orientation | 方向 | vertical:垂直
horizontal:水平 |
[XML] 纯文本查看 复制代码 <!--这是线性布局-->
<LinearLayout android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:padding="20dp">
<!--这里面是控件-->
</LinearLayout> FrameLayout 帧布局说明FrameLayout,帧布局是最为简单的一种布局,该布局为每个加入其中的控件创建一个空白区域,称为一帧,每个控件占据一帧。
采用帧布局时,所有控件都默认显示在屏幕左上角,并按照先后放入的顺序重叠摆放,先放入的将会在最底层,后放入的控件显示在最顶层。帧布局使用于图层设计。 私有属性
属性名 | 说明 | 可选值 | layout_weight | 子元素权重 | 数字
当父级为LinearLayout的时候,子控件可以设置权重 |
[XML] 纯文本查看 复制代码 <FrameLayout android:layout_width="match_parent"
android:layout_height="match_parent">
<!--这里面是控件-->
</FrameLayout>
RelativeLayout 相对布局说明(个人理解不同,可称为绝对或相对)
相对布局是通过相对定位的方式制定控件位置,即以其他的控件或父容器为参照物,摆放控件位置。在设计相对布局时要遵循控件之间的依赖关系,后放入的控件的位置要依赖于先放入的控件。 私有属性
属性名 | 说明 | 可选值 | layout_weight | 子元素权重 | 数字
当父级为LinearLayout的时候,子控件可以设置权重 | gravity | 内部的控件对齐方式 | top
bottom
left
right
center_vertical
fill_vertical
center_horizontal
fill_horizontal
center
fill
clip_vertical
clip_horizontal |
[XML] 纯文本查看 复制代码 <RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<!--这里面是控件-->
</RelativeLayout> ScrollView 滚动框布局说明可以滚动的布局控件,注意:子元素只能有一个! 私有属性
属性名 | 说明 | 可选值 | layout_weight | 子元素权重 | 数字
当父级为LinearLayout的时候,子控件可以设置权重 | fillViewport | 填充所有视图 | true: 是
false:否 |
[XML] 纯文本查看 复制代码 <ScrollView android:fillViewport="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- 这里面是控件 只能有一个子元素,子元素里面可以任意个 -->
<LinearLayout android:layout_height="match_parent"
android:orientation="vertical"
android:layout_width="match_parent">
<!-- 这里面可以是任意个布局和控件 -->
<TextView android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="sctest"
/>
</LinearLayout>
</ScrollView> RadioGroup 单选布局说明RadioGroup可以提供几个选项供用户选择,但只能选择其中的一个。注意子布局不能有其他布局,只能包含RadioButton组件,否则会导致单选效果失效! 私有属性
属性名 | 说明 | 可选值 | orientation | 方向 | vertical:垂直
horizontal:水平 |
[XML] 纯文本查看 复制代码 <RadioGroup android:layout_width="match_parent"
android:layout_marginTop="10dp"
android:layout_height="100dp"
android:orientation="horizontal">
<!--这里面是控件-->
<RadioButton android:layout_height="80dp"
android:layout_width="50dp"
android:text="r1"
android:tag="r1"
android:gravity="center"/>
<RadioButton android:layout_height="80dp"
android:layout_width="50dp"
android:text="r2"
android:gravity="center"
android:tag="r2"/>
</RadioGroup> include 引用布局说明包含其他布局的容器。(EC6.6版本支持,6.9版本支持多层嵌套) 使用示例
[XML] 纯文本查看 复制代码 //包含layout文件下的a1布局
<include android:layout="@layout/a1"/>
//包含layout文件下的a2布局
<include layout="@layout/a2"/>
私有属性
属性名 | 说明 | 可选值 | layout | 包含的布局文件 | 字符串
用@layout开头,后面是layout文件夹下的xml文件名称 |
|