亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > 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最基本的四種布局的詳細內容介紹,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
zzijzzij亚洲日本成熟少妇| 亚洲视频在线播放| 亚洲国内高清视频| 日韩欧美一区二区三区久久| 久久亚洲国产精品成人av秋霞| 欧美激情综合亚洲一二区| 亚洲精品av在线| 91老司机在线| 亚洲香蕉av在线一区二区三区| 成人网在线免费观看| 亚洲韩国日本中文字幕| 国产精品男人的天堂| 成人精品在线观看| 国产精品久久久av| 欧美日韩亚洲国产一区| 亚洲欧美日韩中文在线制服| 91精品国产综合久久香蕉最新版| 久久久精品在线| 久久久久久国产三级电影| 成人av番号网| 亚洲人成电影网站色www| 国产精品wwwwww| 亚洲国语精品自产拍在线观看| 欧美在线影院在线视频| 欧美激情免费在线| 丰满岳妇乱一区二区三区| 国产欧美日韩亚洲精品| 国产精品一区二区三| 久久欧美在线电影| 亚洲精品自拍视频| 国产精品久久久久av免费| 欧美日韩精品在线视频| 精品亚洲一区二区三区在线播放| 亚洲精品乱码久久久久久金桔影视| 一本色道久久综合亚洲精品小说| 日韩大胆人体377p| 亚洲人成电影网| 日本久久久久久久久久久| 日韩在线视频线视频免费网站| 欧美日韩一区二区免费视频| 亚洲国产美女精品久久久久∴| 成人免费网站在线看| 26uuu久久噜噜噜噜| 亚洲**2019国产| 亚洲色图偷窥自拍| 欧美成人精品不卡视频在线观看| 日韩av三级在线观看| 91久久国产精品91久久性色| 亚洲综合成人婷婷小说| 91高清视频免费观看| 国产精品99一区| 欧美野外wwwxxx| 亚洲自拍中文字幕| 亚洲国内高清视频| 日韩av黄色在线观看| 日韩在线免费高清视频| 92国产精品视频| 少妇高潮 亚洲精品| 精品国产乱码久久久久酒店| 欧美激情第6页| 精品欧美国产一区二区三区| 欧美精品久久久久久久久久| 成人中文字幕+乱码+中文字幕| 日本精品视频网站| 国产在线精品播放| 国产精品久久久久久av福利| 日韩免费精品视频| 亚洲小视频在线| 91av在线播放| 色一情一乱一区二区| 国产一区二区香蕉| 日韩中文字幕国产精品| 久久久久久国产免费| 成人免费观看49www在线观看| 97久久精品人人澡人人爽缅北| 最近中文字幕2019免费| 久久这里只有精品视频首页| 欧美日韩国产色| 欧洲美女免费图片一区| 久久久久这里只有精品| 成人444kkkk在线观看| 日韩av在线网站| 97在线精品国自产拍中文| 第一福利永久视频精品| 亚洲午夜国产成人av电影男同| 久久天堂av综合合色| 最近2019中文字幕在线高清| 日韩av免费在线播放| 久久久久久久久91| 国语自产偷拍精品视频偷| 欧美网站在线观看| 国产精品久久久久久久7电影| 久久影视免费观看| 欧美疯狂做受xxxx高潮| 国产精品aaaa| 欧美日韩在线免费| 两个人的视频www国产精品| 亚洲一区二区三区乱码aⅴ| 久久频这里精品99香蕉| 成人福利免费观看| 成人久久18免费网站图片| 美女久久久久久久久久久| 欧美区二区三区| 日本久久亚洲电影| 日韩av中文字幕在线免费观看| 色偷偷亚洲男人天堂| 成人观看高清在线观看免费| 精品久久久久久久久久ntr影视| 欧美精品999| 在线国产精品视频| 欧美精品精品精品精品免费| 中文字幕av一区| 精品偷拍各种wc美女嘘嘘| 红桃视频成人在线观看| 欧美日韩中文字幕综合视频| 综合136福利视频在线| 欧美综合一区第一页| 亚洲成色777777女色窝| 欧美日韩久久久久| 亚洲视频欧洲视频| 午夜精品久久久久久久男人的天堂| 欧美壮男野外gaytube| 中文字幕日韩精品有码视频| 亚洲精品久久久久久久久久久| 国产精品第一页在线| 成人字幕网zmw| 中文字幕日韩高清| 日韩精品中文字幕在线观看| 久久躁日日躁aaaaxxxx| 国产精品久久国产精品99gif| 中文字幕亚洲图片| 欧美视频中文在线看| 久久人人看视频| 中文字幕日本精品| 国产日韩欧美在线视频观看| 日本高清+成人网在线观看| 日韩欧美精品网址| 欧美性xxxx极品hd欧美风情| 国内精品小视频| 欧美日韩在线第一页| 国产精品成久久久久三级| 成人精品在线观看| 91精品国产91久久久久福利| 久久综合免费视频| 91高清在线免费观看| 久久精品免费电影| 欧美日韩国产91| 欧美大片欧美激情性色a∨久久| 国产精品一区av| 欧美激情在线播放| 亚洲欧美中文字幕| 亚洲天堂成人在线视频| 91理论片午午论夜理片久久| 热re91久久精品国99热蜜臀| 俺去亚洲欧洲欧美日韩| 精品性高朝久久久久久久| 久久精品99无色码中文字幕| 98精品国产高清在线xxxx天堂| 亚洲精品国产精品国自产在线| 久久这里只有精品99| 亚洲乱码国产乱码精品精天堂| 欧美视频国产精品| 日韩免费不卡av| 国产日韩综合一区二区性色av|