您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Android中怎么利用Layout實現用戶界面,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
FrameLayout是最簡單的布局對象。在它里面的的所有顯示對象都將固定在屏幕的左上角,不能指定位置,后一個會直接覆蓋在前一個之上顯示:
如圖所示第二個TextView直接覆蓋在了第一個TextView上面。
2.線性布局 LinearLayout:
LinearLayout是最常用的布局之一,也是RadioGroup, TabWidget, TableLayout, TableRow, ZoomControls類的父類,它里面所有顯示的對象都以垂直或水平的方式排列(通過設置LinearLayout的Orentation屬性來設置排列方式):
3.相對布局 RelativeLayout:
RelativeLayout 允許子元素指定它們相對于其父元素或兄弟元素的位置,是實際布局中最常用的布局方式之一。它靈活性大、屬性也多,操作難度比較大,屬性之間產生沖突的的可能性也大,使用相對布局時需要多做測試。
<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離每放一個元素就是一列,總列數由列數最多的那一行決定。
<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占據2列(我在界面設計器里面沒找到TextView的Span屬性,所以是在xml文件里面直接添加的),android:stretchColumns="*"是設置該TableLayout的所有列都自動擴展,如果不設置自動擴展每行列寬會根據顯示的內容改變。
TableLayout的幾個重要屬性:
collapseColumns -----------------------------設置隱藏那些列,列ID從0開始,多個列的話用”,”分隔
stretchColumns ------------------------------設置自動伸展那些列,列ID從0開始,多個列的話用”,”分隔
shrinkColumns -------------------------------設置自動收縮那些列,列ID從0開始,多個列的話用”,”分隔
看完上述內容,你們對Android中怎么利用Layout實現用戶界面有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。