溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中怎么利用Layout實現(xiàn)用戶界面

發(fā)布時間:2021-07-12 11:29:41 來源:億速云 閱讀:179 作者:Leah 欄目:移動開發(fā)

今天就跟大家聊聊有關Android中怎么利用Layout實現(xiàn)用戶界面,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1.幀布局 FrameLayout:

FrameLayout是最簡單的布局對象。在它里面的的所有顯示對象都將固定在屏幕的左上角,不能指定位置,后一個會直接覆蓋在前一個之上顯示:

Android中怎么利用Layout實現(xiàn)用戶界面

如圖所示第二個TextView直接覆蓋在了第一個TextView上面。

2.線性布局 LinearLayout:

LinearLayout是最常用的布局之一,也是RadioGroup, TabWidget, TableLayout, TableRow, ZoomControls類的父類,它里面所有顯示的對象都以垂直或水平的方式排列(通過設置LinearLayout的Orentation屬性來設置排列方式):

Android中怎么利用Layout實現(xiàn)用戶界面

3.相對布局 RelativeLayout:

RelativeLayout 允許子元素指定它們相對于其父元素或兄弟元素的位置,是實際布局中最常用的布局方式之一。它靈活性大、屬性也多,操作難度比較大,屬性之間產(chǎn)生沖突的的可能性也大,使用相對布局時需要多做測試。

Android中怎么利用Layout實現(xiàn)用戶界面

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="20dp"
            android:src="@drawable/test" />
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/imageView1"
            android:layout_centerHorizontal="true"
            android:text="在imageView1下方"
            android:textSize="15sp" />
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/textView1"
            android:layout_centerHorizontal="true"
            android:text="在testView1下方"
            android:textSize="15sp" />
    </RelativeLayout>

RelativeLayout用到的一些重要的屬性:
第一類:屬性值為true或false
android:layout_centerHrizontal -------------------------------水平居中
android:layout_centerVertical ---------------------------------垂直居中
android:layout_centerInparent --------------------------------相對于父元素完全居中
android:layout_alignParentBottom ----------------------------貼緊父元素的下邊緣
android:layout_alignParentLeft --------------------------------貼緊父元素的左邊緣
android:layout_alignParentRight ------------------------------貼緊父元素的右邊緣
android:layout_alignParentTop --------------------------------貼緊父元素的上邊緣
android:layout_alignWithParentIfMissing ----------------------如果對應的兄弟元素找不到的話就以父元素做參照物
第二類:屬性值必須為id的引用名“@id/id-name”
android:layout_below -----------------------------------------在某元素的下方
android:layout_above ----------------------------------------在某元素的的上方
android:layout_toLeftOf --------------------------------------在某元素的左邊
android:layout_toRightOf -------------------------------------在某元素的右邊
android:layout_alignTop --------------------------------------本元素的上邊緣和某元素的的上邊緣對齊
android:layout_alignLeft --------------------------------------本元素的左邊緣和某元素的的左邊緣對齊
android:layout_alignBottom ----------------------------------本元素的下邊緣和某元素的的下邊緣對齊
android:layout_alignRight -------------------------------------本元素的右邊緣和某元素的的右邊緣對齊
第三類:屬性值為具體的像素值,如30dip,40px
android:layout_marginBottom --------------------------------離某元素底邊緣的距離
android:layout_marginLeft ------------------------------------離某元素左邊緣的距離
android:layout_marginRight ----------------------------------離某元素右邊緣的距離
android:layout_marginTop ------------------------------------離某元素上邊緣的距離

 4.表格布局 TableLayout:

TableLayout以行列的形式管理子元素,每一行是一個TableRow布局對象,當然也可以是普通的View對象,TableRow離每放一個元素就是一列,總列數(shù)由列數(shù)最多的那一行決定。

Android中怎么利用Layout實現(xiàn)用戶界面

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:stretchColumns="*" >
        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_span="2"
                android:text="第一行合并兩列居中"
                android:textSize="20sp" />
        </TableRow>
        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="第一行第一列" />
            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="第一行第二列" />
        </TableRow>
        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="第二行第一列" />
            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="第二行第二列" />
        </TableRow>
    </TableLayout>

android:layout_span="2"是設置該TextView占據(jù)2列(我在界面設計器里面沒找到TextView的Span屬性,所以是在xml文件里面直接添加的),android:stretchColumns="*"是設置該TableLayout的所有列都自動擴展,如果不設置自動擴展每行列寬會根據(jù)顯示的內(nèi)容改變。

Android中怎么利用Layout實現(xiàn)用戶界面

TableLayout的幾個重要屬性:

collapseColumns -----------------------------設置隱藏那些列,列ID從0開始,多個列的話用”,”分隔
stretchColumns ------------------------------設置自動伸展那些列,列ID從0開始,多個列的話用”,”分隔
shrinkColumns -------------------------------設置自動收縮那些列,列ID從0開始,多個列的話用”,”分隔

看完上述內(nèi)容,你們對Android中怎么利用Layout實現(xiàn)用戶界面有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI