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
相关文章
相关标签/搜索