laogui 发表于 2023-3-15 19:31:34

【EasyClick】【安卓UI】XML 基础教程~基本布局认识

XML 基础教程~基本布局认识
教程原址:原生UI 之布局
EasyClick 原生UI之布局本节只讲用的非常多的几个布局,后面高级教程会添加几个高级布局。
[*]LinearLayout 线性布局
[*]FrameLayout 帧布局
[*]RelativeLayout 相对布局
[*]ScrollView 滚动框布局
[*]RadioGroup 单选布局
[*]include 引用布局
LinearLayout 线性布局说明LinearLayout,中文意思就是线性布局, 在实际开发中比较常用的布局,它主要以水平和垂直的方式来显示界面中的控件。 在线性布局中,线性布局管理器允许为每一个子视图指定一个 weight(权重) 属性,以控制每一个子视图在空间内的大小。 而线性布局中的 orientation 属性则是用于控制控件的排列方向。    android:orientation="vertical"    属性将其指定为垂直线性排列;
    android:orientation="horizontal"属性将其指定为水平线性排列;


私有属性

属性名说明可选值
orientation方向vertical:垂直
horizontal:水平



<!--这是线性布局-->
<LinearLayout android:layout_height="match_parent"
               android:layout_width="match_parent"
               android:orientation="vertical"
               android:padding="20dp">
               <!--这里面是控件-->
</LinearLayout>FrameLayout 帧布局说明FrameLayout,帧布局是最为简单的一种布局,该布局为每个加入其中的控件创建一个空白区域,称为一帧,每个控件占据一帧。
采用帧布局时,所有控件都默认显示在屏幕左上角,并按照先后放入的顺序重叠摆放,先放入的将会在最底层,后放入的控件显示在最顶层。帧布局使用于图层设计。私有属性

属性名说明可选值
layout_weight子元素权重数字
当父级为LinearLayout的时候,子控件可以设置权重




<FrameLayoutandroid: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




<RelativeLayoutandroid:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:gravity="center">
                  <!--这里面是控件-->
</RelativeLayout>ScrollView 滚动框布局说明可以滚动的布局控件,注意:子元素只能有一个!私有属性

属性名说明可选值
layout_weight子元素权重数字
当父级为LinearLayout的时候,子控件可以设置权重
fillViewport填充所有视图true: 是
false:否



<ScrollViewandroid: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:水平




<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版本支持多层嵌套)使用示例
//包含layout文件下的a1布局
<include android:layout="@layout/a1"/>


//包含layout文件下的a2布局
<include layout="@layout/a2"/>



私有属性



属性名说明可选值
layout包含的布局文件字符串
用@layout开头,后面是layout文件夹下的xml文件名称


页: [1]
查看完整版本: 【EasyClick】【安卓UI】XML 基础教程~基本布局认识