新聞中心
本文同步發(fā)表于我的微信公眾號(hào),在微信搜索 郭霖 即可關(guān)注,每天都有文章更新。
今天給大家?guī)?lái)2017年的第一篇文章,這里先祝大家新年好。
本篇文章的主題是ConstraintLayout。其實(shí)ConstraintLayout是Android Studio 2.2中主要的新增功能之一,也是Google在去年的I/O大會(huì)上重點(diǎn)宣傳的一個(gè)功能。我們都知道,在傳統(tǒng)的Android開(kāi)發(fā)當(dāng)中,界面基本都是靠編寫(xiě)XML代碼完成的,雖然Android Studio也支持可視化的方式來(lái)編寫(xiě)界面,但是操作起來(lái)并不方便,我也一直都不推薦使用可視化的方式來(lái)編寫(xiě)Android應(yīng)用程序的界面。
而ConstraintLayout就是為了解決這一現(xiàn)狀而出現(xiàn)的。它和傳統(tǒng)編寫(xiě)界面的方式恰恰相反,ConstraintLayout非常適合使用可視化的方式來(lái)編寫(xiě)界面,但并不太適合使用XML的方式來(lái)進(jìn)行編寫(xiě)。當(dāng)然,可視化操作的背后仍然還是使用的XML代碼來(lái)實(shí)現(xiàn)的,只不過(guò)這些代碼是由Android Studio根據(jù)我們的操作自動(dòng)生成的。
另外,ConstraintLayout還有一個(gè)優(yōu)點(diǎn),它可以有效地解決布局嵌套過(guò)多的問(wèn)題。我們平時(shí)編寫(xiě)界面,復(fù)雜的布局總會(huì)伴隨著多層的嵌套,而嵌套越多,程序的性能也就越差。ConstraintLayout則是使用約束的方式來(lái)指定各個(gè)控件的位置和關(guān)系的,它有點(diǎn)類似于RelativeLayout,但遠(yuǎn)比RelativeLayout要更強(qiáng)大。
其實(shí)ConstraintLayout屬于Android Studio 2.2的新特性,我在去年寫(xiě)《第二行代碼》的時(shí)候就非常想要將這部分內(nèi)容加入到新書(shū)里面,但是在嘗試之后還是放棄了。因?yàn)镃onstraintLayout的用法很多都是對(duì)控件進(jìn)行拖拽,只用文字或者是一些靜態(tài)圖片實(shí)在太難將它的用法表達(dá)清楚了,因此不太適合寫(xiě)到書(shū)上。我當(dāng)時(shí)的想法就是在博客上面寫(xiě)一篇ConstraintLayout的用法講解,來(lái)彌補(bǔ)一下《第二行代碼》中缺失的這部分新特性,那么今天這篇文章來(lái)了。
開(kāi)始
下面我們開(kāi)始用邊學(xué)邊練的方式來(lái)進(jìn)行學(xué)習(xí),首先打開(kāi)你的Android Studio,并新建一個(gè)ConstraintLayoutTest項(xiàng)目。另外,確保你的Android Studio是2.2或以上版本。
為了要使用ConstraintLayout,我們需要在app/build.gradle文件中添加ConstraintLayout的依賴,如下所示。
dependencies { compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4' }
名稱欄目:Android新特性ConstraintLayout完全解析-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.dlmjj.cn/article/djjopj.html