麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

Android布局(RelativeLayout、TableLayout等)使用方法

2020-01-02 07:01:56
字體:
來源:轉載
供稿:網友

 本文介紹 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,表示拉伸第2列(0為第1列)與屏幕一樣寬,效果如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>

以上就是Android最基本的四種布局的詳細內容介紹,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久影院午夜 | 精品一区二区三区在线观看视频 | 国产精品看片 | 久章草影院 | 国产精品一区二区三区99 | 久久久国产精品免费观看 | 欧美一级做一级爱a做片性 久久久资源网 | 国产精品99久久久久久宅女 | 欧美亚洲国产一区二区三区 | 爱射av| 欧美片一区二区 | 久色视频 | 欧美三日本三级少妇三级99观看视频 | 日本人乱人乱亲乱色视频观看 | 玩偶姐姐在线观看免费 | wwwxxx国产| av在线大全 | 久久人人爽人人爽人人片av高清 | 国产porn在线 | 成人一级毛片 | 欧美一级在线看 | 国产精品视频一区二区噜噜 | 精品中文字幕在线播放 | 国产精品久久久久久久不卡 | 热99精品视频 | 久久久电影电视剧免费看 | 国产成人在线免费看 | 91社影院在线观看 | 曰韩黄色片 | 天天草天天干天天射 | japanese末成年free| 国产精品久久久久久久模特 | 午夜色视频在线观看 | 久久福利电影网 | 在线播放免费播放av片 | 国产精品久久久久国产精品三级 | 中文字幕亚洲一区二区三区 | 911精品影院在线观看 | 极品一级片 | 久久久一区二区三区四区 | 蜜桃传媒视频麻豆第一区免费观看 |