当前位置:天才代写 > tutorial > 安卓教程 > android 基本布局(RelativeLayout、TableLayout等)使用方法及各种属性

android 基本布局(RelativeLayout、TableLayout等)使用方法及各种属性

2021-02-22 10:20 星期一 所属: 安卓教程 浏览:937

文中详细介绍 Android 页面开发设计中最基础的四种合理布局LinearLayout、RelativeLayout、FrameLayout、TableLayout 的操作方法及这四种合理布局中常见的特性。

  • LinearLayout 线形合理布局,合理布局中室内空间呈线形排序
  • RelativeLayout 相对性合理布局,根据相对定位的方法,操纵控制部位
  • FrameLayout 帧合理布局,非常简单的合理布局,全部控制置放左上方
  • TableLayout 报表合理布局,以队伍方法操纵控制部位

四种布局示例

1.LinearLayout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:orientation="vertical">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="竖直1" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="竖直2" />
    </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:orientation="horizontal">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="水准1" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="水准2" />
    </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:orientation="horizontal">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:text="水准上两端对齐" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="水准垂直居中" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:text="水准下两端对齐" />
    </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:orientation="horizontal">
        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:hint="输入您..."/>
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:text="递交" />
    </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:orientation="horizontal">
        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:hint="输入您..."/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="递交" />
    </LinearLayout>
</LinearLayout>
  • orientation:horizontal(水准)/vertical(竖直),表明线形排序的方位。
  • layout_width/layout_height:原素的总宽与高宽比
  • layout_gravity:top/bottom/center/left/right/etc,表明当今原素相对性父原素的两端对齐方法,多种多样两端对齐方法用“|”分隔,右上两端对齐:top|right
  • layout_weight:占有室内空间的占比,比如原素A和B,A设定为1,B设定为3, 原素A、B各自占室内空间的1/4、3/4,这时原素总宽不由自主layout_width决策,设定为0dp是较为标准的书写。
  • layout_weight 若原素A设定为1,原素B不设定,将layout_width设定为实际的值或wrap_content,那麼原素B的总宽由layout_width决策,原素A将布满显示屏剩余的室内空间。

2.RelativeLayout

<LinearLayout ...>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="300dp">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true"
            android:text="我还在左下方"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="我还在正中间"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="我还在右上方"/>
    </RelativeLayout>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="300dp">
        <Button
            android:id="@ id/button_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="参考按键"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@id/button_2"
            android:layout_toRightOf="@id/button_2"
            android:text="我还在右上方"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/button_2"
            android:layout_toLeftOf="@id/button_2"
            android:text="我还在左下方"/>
    </RelativeLayout>
</LinearLayout>

下列特性数值true/false

  • layout_centerHorizontal/layout_centerVertical: 水平居中、垂直居中
  • layout_centerInparent: 相对性父原素竖直&水平居中
  • layout_alignParentBottom: 原素下界限和父原素下界限两端对齐
  • layout_alignParentLeft: 左界限两端对齐
  • layout_alignParentRight: 右界限两端对齐
  • layout_alignParentTop: 上界限两端对齐

下列特性数值控制id

  • layout_above/layout_below: 在某原素的上边/下边
  • layout_toLeftOf/layout_toRightOf: 在某原素的左侧/右侧
  • layout_alignTop/layout_alignBottom: 原素上(下)界限与某原素上(下)界限两端对齐
  • layout_alignLeft/layout_alignRight: 左(右)界限两端对齐

3.FrameLayout

全部原素都置放在合理布局的左上方

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我是一个按键"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我是一个文本框"/>
</FrameLayout>

4.TableLayout

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TableRow>
        <TextView
            android:layout_height="wrap_content"
            android:text="电子邮箱"/>
        <EditText
            android:layout_height="wrap_content"
            android:inputType="textEmailAddress"
            android:hint="请请输入的电子邮箱" />
    </TableRow>

    <TableRow>
        <TextView
            android:layout_height="wrap_content"
            android:text="登陆密码"/>
        <EditText
            android:layout_height="wrap_content"
            android:inputType="textPassword"
            android:hint="请输入密码" />
    </TableRow>
    <TableRow>
        <Button
            android:layout_height="wrap_content"
            android:layout_span="2"
            android:text="申请注册" />
    </TableRow>
</TableLayout>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1">
    ...
</TableLayout>
  • TableRow: 意味着报表合理布局的一行,内行人一个原素意味着一列。
  • layout_span: 合并单元格,设定为2,意味着该原素占有2列室内空间。
  • stretchColumns: TableRow中没法特定室内空间总宽,那麼必须采用该特性,设定为1,表明拉申第二列(0为第一列)与显示屏一样宽,实际效果如TableLayout的第二张图。

5.自定合理布局

Android中,合理布局下能够置放控制,还可以置放子合理布局。假如子合理布局內容比较单独且常常应用,比如菜单栏,或是合理布局非常复杂,此刻能够考虑到应用自定合理布局的方式导进。方式非常简单。

  • 新创建一个合理布局文档,比如example.xml
  • 在父合理布局中引进:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <include layout="@layout/example"/>

</LinearLayout>
 

    关键字:

天才代写-代写联系方式