使用Kotlin進行android開發(fā)大勢所趨,習慣了以前的findViewById或者使用注解的方式進行自動生成,雖然這樣已經(jīng)節(jié)省了很多的時間,不用寫太多無趣重復的代碼。但是自從Kotlin被google爸爸推廣后,這種語言開發(fā)已經(jīng)掀起了一波熱潮,它的強大之處我這里不用多說,這里將要介紹的是Kotlin開發(fā)android必要的依賴,可以大大的減少代碼量,使用更加方便。
今天就來介紹一下Anko,主要內(nèi)容是Anko的使用,翻譯github上官方介紹英文文檔。https://github.com/Kotlin/anko 理解錯誤之處還望指出。
Anko官方的定義:
Anko is a [Kotlin](http://www.kotlinlang.org/)
library which makes Android application development faster and easier. It
makes your code clean and easy to read, and lets you forget about rough
edges of the Android SDK for Java
大概意思就是:anko是一個讓android開發(fā)更快更容易的kotlin依賴包。它讓你
的代碼更干凈更容易閱讀,讓你忘記Android SDK的不足之處
依賴的注入:
modle的gradle中加入
compile "org.jetbrains.anko:anko:$anko_version"
在project中的buildscript中加入
ext.anko_version='0.10.4'
當然必須引入Kotlin的依賴
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
在project中的buildscript中加入
ext.kotlin_version = '1.1.2-4'
在Android中的布局采用的是以xml的文件嵌入的,以這種方式存在一些隱患。
1,類型不安全
2,沒有空安全
3,編寫相同的代碼
4,解析xml的時候占用cpu時間和電池的電量
5,代碼不允許重用
雖然可以用java代碼進行編寫布局文件,但是代碼量大,而且比較抽象,比較丑。java代碼如下:

image.png
使用DSL的代碼如下:

image.png
代碼的簡潔程度一看就明白了。如果不想用全用anko進行布局,也可以保留以前的xml文件,只需要這樣寫

image.png
如果你想使用到Activity, Fragment, FragmentActivity 或者任何想使用的地方。
引入anko包,在activity中展示:

image.png
沒有調用setContentView方法進行加載布局。dip(30)將dip進行轉換。
editText 的屬性hint和TextSize直接進行設置。即使這樣我們還能進行修改抽取。
利用AnkoComponent進行改變。
如下簡單的寫一個登錄界面

image.png
其中還可以設置Button的主題
themedButton("Ok", theme = R.style.myTheme),設置LinearLayout的布局。

image.png
lparams參數(shù)就是設置布局參數(shù)。還有布局 relativeLayout { },
frameLayout { }, tabHost { }等
異步處理使用的是
doAsync {//子線程
UI { }//主線程更新UI
}
還有其他控件的簡寫
如下:dialog--->引入了js的寫法(其實也不全是)
alert {
yesButton { }
noButton { }
}
seekBar:

image.png
這部分到此結束.......下部分未完待續(xù)。
感謝來源地址附上
https://github.com/Kotlin/anko/wiki/Anko-Layouts