前言
- 在
開發中,繪制Android
時常需各種布局UI
- 今天,我将全面介紹
Android
開發中最常用的五大布局
含
中新增的布局:限制布局(Android Studio 2.2
)介紹ConstraintLayout
目錄
1. 布局類型
在
Android
中,共有2類、6種布局方式,分别是:
2. 布局介紹
- 具體介紹
本文主要介紹傳統的5大布局,關于限制布局
(ConstraintLayout)
具體點選檢視文章
3. 布局屬性
-
的布局屬性通過Android
配置XML
- 下面,主要講解布局公有屬性 & 特有屬性
3.1 公有屬性
即 5種布局都具備下述屬性
-
、layout_width
layout_height
-
+方位layout_margin
-
+方位padding
-
gravity
-
layout_gravity
一般作用于 LeanerLayout 和 FrameLayout,但此處為了與layout_gravity
對比gravity
3.2 特有屬性
- 具體介紹如下
3.3 特别注意
- 5個布局元素可互相嵌套使用,進而實作各種不同的效果
- 關于 線性布局(LinearLayout)的權重屬性layout_weight請看文章
4. 選擇器(Selector)
4.1 作用
通過設定選擇器(
selector
)可使控件 在不同操作下(預設、點選等) 顯示不同樣式
通過編寫 =
xml
selector.xml
4.2 屬性
XML屬性 | 說明 |
---|---|
android:drawable | 放一個drawable資源 |
android:state_pressed | 按下狀态,如一個按鈕觸摸或者點選。 |
android:state_focused | 取得焦點狀态,比如使用者選擇了一個文本框。 |
android:state_hovered | 光标懸停狀态,通常與focused state相同,它是4.0的新特性 |
android:state_selected | 選中狀态 |
android:state_enabled | 能夠接受觸摸或者點選事件 |
android:state_checked | 被checked了,如:一個RadioButton可以被check了。 |
android:state_enabled | 能夠接受觸摸或者點選事件 |
注:上述所有屬性的取值 =
boolean
屬性 =
true
、
false
4.3 執行個體說明
在
drawable
添加
selector.xml
資源檔案
button_selector.xml:
<?xml version="1.0" encoding="UTF-8"?>
< selector xmlns:android="http://schemas.android.com/apk/res/android">
< !-- 指定按鈕按下時的圖檔 -->
<item android:state_pressed="true"
android:drawable="@drawable/start_down"
/>
< !-- 指定按鈕松開時的圖檔 -->
<item android:state_pressed="false"
android:drawable="@drawable/start"
/>
< /selector>
複制
在布局檔案main.xml中控件的屬性設定:
<Button
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_selector"
/>
複制
5. 布局形狀(Shape)
- 作用:設定布局的顔色、邊框線
- 使用:通過
編寫 =xml
shape.xml
- 具體使用
<shape xmlns:android="http://schemas.android.com/apk/res/android">
//預設顔色
<solid android:color="#876543"/>
//哪個方向有邊框線
<padding
android:bottom="0dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
//邊框線顔色、大小
<stroke
android:width="1dp"
android:color="#000000" />
複制
在布局檔案main.xml中控件的屬性設定:
<Button
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/layout_shape"
/>
複制
6. 總結
- 本文全面介紹了
常用布局Android
- 下面我将繼續對
中的知識進行深入講解 ,有興趣可以繼續關注Carson_Ho的安卓開發筆記Android