欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2016年03月06日 08:49:51   作者:呆尐兔兔  
這篇文章主要介紹了Android布局使用方法及各種屬性介紹,包括RelativeLayout、TableLayout等,感興趣的朋友可以參考一下

 本文介紹 Android 界面開發(fā)中最基本的四種布局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,表示當(dāng)前元素相對父元素的對齊方式,多種對齊方式用“|”隔開,右上對齊:top|right。
layout_weight:占據(jù)空間的比例,例如元素A和B,A設(shè)置為1,B設(shè)置為3, 元素A、B分別占空間的1/4、3/4,此時元素寬度不由layout_width決定,設(shè)置為0dp是比較規(guī)范的寫法。
layout_weight 若元素A設(shè)置為1,元素B不設(shè)置,將layout_width設(shè)置為具體的值或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: 代表表格布局的一行,行內(nèi)一個元素代表一列。
layout_span: 合并單元格,設(shè)置為2,代表該元素占據(jù)2列空間。
stretchColumns: TableRow中無法指定空間寬度,那么需要用到該屬性,設(shè)置為1,表示拉伸第2列(0為第1列)與屏幕一樣寬,效果如TableLayout的第二張圖。
5.自定義布局

    Android中,布局下可以放置控件,也可以放置子布局。如果子布局內(nèi)容較為獨立且經(jīng)常使用,例如標(biāo)題欄,或者布局比較復(fù)雜,這時候可以考慮使用自定義布局的形式導(dǎo)入。方法很簡單。

新建一個布局文件,例如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最基本的四種布局的詳細(xì)內(nèi)容介紹,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • Android自定義實現(xiàn)側(cè)滑菜單效果

    Android自定義實現(xiàn)側(cè)滑菜單效果

    這篇文章主要為大家詳細(xì)介紹了Android自定義實現(xiàn)側(cè)滑菜單效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 詳解Android文件存儲

    詳解Android文件存儲

    Android存儲空間包括內(nèi)部存儲空間(Internal Storage)和外部存儲空間(External Storage),本文分別對Android內(nèi)部存儲空間(Internal Storage)和Android外部存儲空間(External Storage)做了詳細(xì)講解
    2016-01-01
  • Android 兩種方法實現(xiàn)長按返回健退出

    Android 兩種方法實現(xiàn)長按返回健退出

    這篇文章主要介紹了Android 兩種方法實現(xiàn)長按返回健退出的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Android淺析viewBinding和DataBinding

    Android淺析viewBinding和DataBinding

    這篇文章主要介紹了Android淺析viewBinding和DataBinding,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Android開發(fā)中模仿qq列表信息滑動刪除功能

    Android開發(fā)中模仿qq列表信息滑動刪除功能

    這篇文章主要介紹了Android開發(fā)中模仿qq列表信息滑動刪除功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-01-01
  • 利用Android中的TextView實現(xiàn)逐字顯示動畫

    利用Android中的TextView實現(xiàn)逐字顯示動畫

    在安卓程序啟動的時候,想逐字顯示一段話,每個字都有一個從透明到不透明的漸變動畫。那如何顯示這個效果,下面一起來看看。
    2016-08-08
  • android中px和dp,px和sp之間的轉(zhuǎn)換方法

    android中px和dp,px和sp之間的轉(zhuǎn)換方法

    在Android開發(fā)中dp和px,sp和px之間的轉(zhuǎn)換時必不可少的。下面腳本之家小編給大家?guī)砹薬ndroid中px和dp,px和sp之間的轉(zhuǎn)換方法,感興趣的朋友一起看看吧
    2018-06-06
  • Android自定義View實現(xiàn)圓環(huán)交替效果

    Android自定義View實現(xiàn)圓環(huán)交替效果

    這篇文章給大家介紹如何基于Android自定義View實現(xiàn)圓環(huán)交替的效果,實現(xiàn)后效果很贊,有需要的小伙伴們可以參考借鑒。
    2016-08-08
  • Android開發(fā)新手常見的10個誤區(qū)

    Android開發(fā)新手常見的10個誤區(qū)

    這篇文章主要介紹了Android開發(fā)新手常見的10個誤區(qū),我們?nèi)匀豢吹搅四男┬碌腁ndr&#8203;&#8203;oid開發(fā)人員不斷重復(fù)的錯誤,這里有10個最常見的誤區(qū),需要的朋友可以參考下
    2015-03-03
  • Android應(yīng)用強(qiáng)制更新APP的示例代碼

    Android應(yīng)用強(qiáng)制更新APP的示例代碼

    本篇文章主要介紹了Android應(yīng)用強(qiáng)制更新APP的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02

最新評論