Carson帶你學(xué)Android:常用布局介紹 & 使用(附屬性查詢)


前言

  • Android開(kāi)發(fā)中,繪制UI時(shí)常需各種布局
  • 今天贷币,我將全面介紹Android開(kāi)發(fā)中最常用的五大布局

Android Studio 2.2中新增的布局:約束布局(ConstraintLayout)介紹


目錄

示意圖

1. 布局類型

Android中怔匣,共有2類握联、6種布局方式,分別是:

image.png


2. 布局介紹

  • 具體介紹
示意圖

本文主要介紹傳統(tǒng)的5大布局,關(guān)于約束布局(ConstraintLayout)具體點(diǎn)擊查看文章


3. 布局屬性

  • Android的布局屬性通過(guò) XML配置
  • 下面金闽,主要講解布局公有屬性 & 特有屬性

3.1 公有屬性

即 5種布局都具備下述屬性

  • layout_width 纯露、layout_height
  • layout_margin+方位
  • padding +方位
  • gravity
  • layout_gravity

layout_gravity 一般作用于 LeanerLayout 和 FrameLayout,但此處為了與 gravity對(duì)比

示意圖

layout_gravity:多用于自身控件相對(duì)于父控件的位置
gravity:多用于設(shè)置父控件里的子控件的位置

3.2 特有屬性

  • 具體介紹如下
示意圖

3.3 特別注意

  • 5個(gè)布局元素可相互嵌套使用代芜,從而實(shí)現(xiàn)各種不同的效果
  • 關(guān)于 線性布局(LinearLayout)的權(quán)重屬性layout_weight請(qǐng)看文章

4. 選擇器(Selector)

4.1 作用

通過(guò)設(shè)置選擇器(selector)可使控件 在不同操作下(默認(rèn)埠褪、點(diǎn)擊等) 顯示不同樣式

通過(guò) xml編寫(xiě) = selector.xml

4.2 屬性

XML屬性 說(shuō)明
android:drawable 放一個(gè)drawable資源
android:state_pressed 按下?tīng)顟B(tài),如一個(gè)按鈕觸摸或者點(diǎn)擊蜒犯。
android:state_focused 取得焦點(diǎn)狀態(tài)组橄,比如用戶選擇了一個(gè)文本框。
android:state_hovered 光標(biāo)懸停狀態(tài)罚随,通常與focused state相同玉工,它是4.0的新特性
android:state_selected 選中狀態(tài)
android:state_enabled 能夠接受觸摸或者點(diǎn)擊事件
android:state_checked 被checked了,如:一個(gè)RadioButton可以被check了淘菩。
android:state_enabled 能夠接受觸摸或者點(diǎn)擊事件

注:上述所有屬性的取值 = boolean屬性 = true遵班、false

4.3 實(shí)例說(shuō)明

drawable添加 selector.xml 資源文件

button_selector.xml:

<?xml version="1.0" encoding="UTF-8"?>
< selector xmlns:android="http://schemas.android.com/apk/res/android">

 < !-- 指定按鈕按下時(shí)的圖片 -->
 <item android:state_pressed="true"  
       android:drawable="@drawable/start_down"
 />

 < !-- 指定按鈕松開(kāi)時(shí)的圖片 --> 
 <item android:state_pressed="false"
       android:drawable="@drawable/start"
 />

< /selector>

在布局文件main.xml中控件的屬性設(shè)置:

<Button
  android:id="@+id/startButton"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/button_selector" 
/>

5. 布局形狀(Shape)

  • 作用:設(shè)置布局的顏色、邊框線
  • 使用:通過(guò) xml編寫(xiě) = shape.xml
  • 具體使用
<shape xmlns:android="http://schemas.android.com/apk/res/android">

// 默認(rèn)顏色
<solid android:color="#876543"/>
// 4個(gè)方向的邊框線
  <padding
        android:bottom="0dp"
        android:left="1dp"
        android:right="1dp"
        android:top="1dp" />
     // 邊框線顏色潮改、大小
    <stroke
        android:width="1dp"
        android:color="#000000" />
// 圓角
<corners android:radius="2dp" />

</shape>

在布局文件main.xml中控件的屬性設(shè)置:

<Button
  android:id="@+id/startButton"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/layout_shape" 
/>

注:同時(shí)設(shè)置點(diǎn)擊樣式 & 形狀

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="8dp" />
            <solid android:color="@color/black" />
        </shape>
    </item>

    <item android:state_pressed="false">
        <shape android:shape="rectangle">
            <corners android:radius="8dp" />
            <solid android:color="@color/white" />
        </shape>
    </item>
</selector>

附:顏色透明度(即顏色透明程度是多少)

00% :FF(不透明)   
5% : F2    
10% :E5    
15% :D8    
20% :CC    
25% :BF    
30% :B2    
35% :A5    
40% :99    
45% :8c    
50% :7F    
55% :72    
60% :66    
65% :59    
70% :4c    
75% :3F    
80% :33    
85% :21    
90% :19    
95% :0c    
100% :00(全透明)

// 使用方式
// 在十六進(jìn)制顏色前加入

// 使用示例:黑色狭郑,透明度 = 10%(即顏色的透明程度是10% = 設(shè)計(jì)同學(xué)說(shuō)的“10%透明度”)
// 黑色的十六進(jìn)制:#000000
// 透明度 10%:E5 
// 最終表示:#E5000000

6. 總結(jié)

  • 本文全面介紹了 Android常用布局
  • 下面我將繼續(xù)對(duì) Android中的知識(shí)進(jìn)行深入講解 ,感興趣的同學(xué)可以繼續(xù)關(guān)注Carson_Ho的簡(jiǎn)書(shū)

相關(guān)系列文章閱讀
Carson帶你學(xué)Android:學(xué)習(xí)方法
Carson帶你學(xué)Android:四大組件
Carson帶你學(xué)Android:自定義View

Carson帶你學(xué)Android:異步-多線程
Carson帶你學(xué)Android:性能優(yōu)化
Carson帶你學(xué)Android:動(dòng)畫(huà)


歡迎關(guān)注Carson_Ho的簡(jiǎn)書(shū)

不定期分享關(guān)于安卓開(kāi)發(fā)的干貨汇在,追求短翰萨、平、快糕殉,但卻不缺深度亩鬼。


請(qǐng)點(diǎn)贊!因?yàn)槟愕墓膭?lì)是我寫(xiě)作的最大動(dòng)力阿蝶!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末雳锋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子羡洁,更是在濱河造成了極大的恐慌玷过,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筑煮,死亡現(xiàn)場(chǎng)離奇詭異辛蚊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)真仲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門嚼隘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人袒餐,你說(shuō)我怎么就攤上這事飞蛹“疲” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵卧檐,是天一觀的道長(zhǎng)墓懂。 經(jīng)常有香客問(wèn)我,道長(zhǎng)霉囚,這世上最難降的妖魔是什么捕仔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮盈罐,結(jié)果婚禮上榜跌,老公的妹妹穿的比我還像新娘。我一直安慰自己盅粪,他們只是感情好钓葫,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著票顾,像睡著了一般础浮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奠骄,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天豆同,我揣著相機(jī)與錄音,去河邊找鬼含鳞。 笑死影锈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蝉绷。 我是一名探鬼主播鸭廷,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼潜必!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起沃但,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤磁滚,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后宵晚,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體垂攘,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年淤刃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晒他。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡逸贾,死狀恐怖陨仅,靈堂內(nèi)的尸體忽然破棺而出津滞,到底是詐尸還是另有隱情,我是刑警寧澤灼伤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布触徐,位于F島的核電站,受9級(jí)特大地震影響狐赡,放射性物質(zhì)發(fā)生泄漏撞鹉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一颖侄、第九天 我趴在偏房一處隱蔽的房頂上張望鸟雏。 院中可真熱鬧,春花似錦览祖、人聲如沸孝鹊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)惶室。三九已至,卻和暖如春玄货,著一層夾襖步出監(jiān)牢的瞬間皇钞,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工松捉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留夹界,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓隘世,卻偏偏與公主長(zhǎng)得像可柿,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丙者,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評(píng)論 25 707
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程复斥,因...
    小菜c閱讀 6,358評(píng)論 0 17
  • Android功能強(qiáng)大,界面華麗械媒,但是眾多的布局屬性就害苦了開(kāi)發(fā)者目锭,下面這篇文章結(jié)合了網(wǎng)上不少資料.第一類:屬性值...
    HangChen閱讀 4,844評(píng)論 0 24
  • 時(shí)間兜兜轉(zhuǎn)云煙,無(wú)良月夜下千川 三尺魂燈燃吾愿纷捞,再回結(jié)發(fā)斬道前
    夜蒼雪閱讀 228評(píng)論 0 1
  • 都說(shuō)外來(lái)的和尚好念經(jīng)痢虹,可惜里皮來(lái)的時(shí)間有點(diǎn)兒晚,平局的結(jié)果不算差主儡,但對(duì)于國(guó)足爭(zhēng)奪小組第三幾無(wú)多大用處奖唯。不過(guò)這也很真...
    羅克閱讀 275評(píng)論 0 0