Anko之Anko Layouts的使用(一)

使用Kotlin進行android開發大勢所趨,習慣了之前的findViewById或者使用註解的方式進行自動生成,雖然這樣已經節省了不少的時間,不用寫太多無趣重複的代碼。可是自從Kotlin被google爸爸推廣後,這種語言開發已經掀起了一波熱潮,它的強大之處我這裏不用多說,這裏將要介紹的是Kotlin開發android必要的依賴,能夠大大的減小代碼量,使用更加方便。
    今天就來介紹一下Anko,主要內容是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開發更快更容易的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代碼以下:java

image.png
使用DSL的代碼以下:
image.png
代碼的簡潔程度一看就明白了。若是不想用全用anko進行佈局,也能夠保留之前的xml文件,只須要這樣寫
image.png
不用繁瑣的findViewById了。 若是你想使用到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參數就是設置佈局參數。還有佈局 relativeLayout { }, frameLayout { }, tabHost { }等 異步處理使用的是 doAsync {//子線程 UI { }//主線程更新UI } 還有其餘控件的簡寫 以下:dialog--->引入了js的寫法(其實也不全是) alert { yesButton { } noButton { }
} seekBar:
image.png
等 這部分到此結束.......下部分未完待續。 感謝來源地址附上 https://github.com/Kotlin/anko/wiki/Anko-Layouts
相關文章
相關標籤/搜索