前言 之前写了一写Kotlin的基本操作 是不是感觉太好用了 但是接下来介绍的这个库 让你会觉得太爽了 这个库就是超级好用的库anko 它总共有四个部分 Anko Commons: a lightweight...way to write dynamic Android layouts; Anko SQLite: a query DSL and parser collection for Android SQLite...{ yesButton { toast("Oh…") } noButton {} }.show() The code above will show the default Android...appcompat implementation, use the Appcompat dialog factory: alert(Appcompat, "Some text message").show() Android...will be executed warn(null) // "null" will be printed 对比 android.util.Log AnkoLogger v() verbose() d
这使得Kotlin非常的轻量,集成到Android的project并不会很明显的影响最终的打包大小。...包括Rx系列也出了RxKotlin,既RxJava的Kotlin版 #Kotlin和Anko使用 Anko的github地址为https://github.com/Kotlin/anko。...同时官方还出了一个Android Stduio插件,叫做anko SDL preview。可以很方便的让开发者预览编写的效果。...和anko开发Android的实例,如果想要更加熟练的使用,还需要多加练习。...附:Anko的github地址为https://github.com/Kotlin/anko
language for the JVM, Android and the browser Kotlin的设计思想非常的轻量,尽可能的去复用java代码,不到万不得已的时候,一般不会自己去实现一套大而全的库...这使得Kotlin非常的轻量,集成到Android的project并不会很明显的影响最终的打包大小。...包括Rx系列也出了RxKotlin,既RxJava的Kotlin版 Kotlin和Anko使用 Anko的github地址为https://github.com/Kotlin/anko。...同时官方还出了一个Android Stduio插件,叫做anko SDL preview。可以很方便的让开发者预览编写的效果。...和anko开发Android的实例,如果想要更加熟练的使用,还需要多加练习。
Kotlin & anko anko project - build.gradle buildscript { ext.kotlin_version = '1.1.51' //.....plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' dependencies...{ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.anko...'com.github.bumptech.glide:glide:4.9.0' Gif加载 android-gif-drawable implementation 'pl.droidsonroids.gif...:android-gif-drawable:1.2.+' 事件视图绑定 Butterknife implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor
:cardview-v7:27.1.1' implementation 'com.android.support:support-v4:27.1.1' 我的常用组件 Kotlin & anko anko...plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' dependencies...{ implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" compile "org.jetbrains.anko...:anko-commons:0.10.4" } 权限 XPermission 最快最简单的方式适配Android6.0权限 PermissionsDispatcher 不推荐使用 Adapter...:gpuimage-library:1.4.1' Gif加载 android-gif-drawable implementation 'pl.droidsonroids.gif:android-gif-drawable
在Kotlin还不是正房的时候就听说过了,除了Java之外也能开发Android APP的一种语言,小众到鲜为人知,甚至介绍都不多。...到最近Kotlin1.2版本发布又是一波大范围的推送,而且在GitHub的排名也不断上升。 Google一系列的动作都在加快Kotlin在Android领域取代Java的速度。...Kotlin官方文档(英文版) Kotlin官方文档(中文版) Anko——JetBrains开发的一个强大的库 以登录为例,小小练手 package com.yechaoa.kotlinforlogin...showDialog() { alert("登录成功", "提示") { yesButton { //this指向是谁, ::class.java加载...支持动态生成视图,语法简单,结构清晰,但是不能预览,预览插件: https://github.com/Kotlin/anko/wiki/Anko-Layouts#anko-support-plugin
辅助语言:Kotlin,我觉得Kotlin中的很多语法很好用,很简便,比如定义实体就非常好用,在大方向使用Java的情况下,辅助使用Kotlin定义一些单独的文件,很方便。...' id 'kotlin-android' id 'kotlin-android-extensions' } android { compileSdkVersion 30...:anko-commons:$anko_version" // Anko Commons implementation "org.jetbrains.anko:anko-sdk25:$anko_version...refresh-header:1.1.5' implementation 'com.github.xuexiangjys.SmartRefreshLayout:refresh-layout:1.1.5' //预加载占位控件...TitleBar titleBar = super.initTitle(); } } 我们也可以不重载getLayoutId,自己在onCreate或中initViews中找视图填充
然而Java代码就是这么错综复杂,要想开发Android,只能这么捣腾,不然还有更好的法子吗?不信的话换成Kotlin试试?.../black" android:textSize="17sp" /> 如果再来一个选择对话框,这样只要给该文本视图添加点击事件,点击TextView弹出选择框,岂不是万事大吉?...正巧Anko库已经提供了这股东风,与alert一样来自于Context的扩展函数,它便是“selector(对话框标题, 字符串队列) { i -> 第i项的选中处理代码 }”,那么将其与前面的文本视图相结合...倘若使用Kotlin书写,则借助于Anko库只需下面两行代码: val dialog = progressDialog("正在努力加载页面", "请稍候") dialog.show()...由于该函数同样来自于Anko库,因此不要忘了在用到的代码文件头部加入下面这行语句: import org.jetbrains.anko.indeterminateProgressDialog Kotlin
第13章 使用 Kotlin 和 Anko 的Android 开发 ---- 《Kotlin极简教程》正式上架: 点击这里 > 去京东商城购买阅读 点击这里 > 去天猫商城购买阅读 非常感谢您亲爱的读者...Anko (https://github.com/Kotlin/anko) 是一个用 Kotlin 写的Android DSL (Domain-Specific Language)。...Anko是一个 Kotlin 库, 它使 android 应用程序的开发变得更快、更容易。它使您的代码更加简单干净, 易于阅读。...13.2 一个简单Anko视图 这里是一个转换成 Anko 的简单 XML 文件。...另外,Kotlin 的 Android 视图 DSL Anko帮我们从繁杂的 XML 视图配置文件中解放出来。
下面是个实验用的布局文件内容,通过背景色观察每个视图的区域范围: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android...Kolin支持调用dip方法将dip数值转换为px数值,倘若由Java编码则需开发者自己实现一个像素转换的工具类; 因为dip方法来自于Kotlin扩展的Anko库,所以需要在Activity代码头部加上下面一行导入语句...举个例子,让某视图位于指定视图上方,且与上级视图的左侧对齐,则调用addRule方法的Kotlin代码如下所示: rl_params.addRule(RelativeLayout.ABOVE,...,因此Kotlin利用Anko库将相对位置进行了简化,具体办法是引入扩展函数实现相对位置的设定,譬如above方法代表位于指定视图上方,alignParentLeft方法代表与上级视图的左侧对齐。...于是原来的Kotlin代码简化如下: rl_params.above(指定视图的资源ID) rl_params.alignParentLeft() 因为这几个新方法来自于Anko库,所以要在代码头部加上下面一行导入语句
学习 Kotlin 应该都或多或少听过 Anko 这个开源库。 使用 Anko 来构建界面会更加简单、快捷。...Anko Layouts 动态布局用的最主要的库,将许多 Android 的控件 View 转换成了 Anko 加载的形式。...由于 Android 还有其他的控件库,因此 Anko 也对那些库进行了拓展支持,可以选择添加对应的依赖库。 当然,还可以根据需要对自定义 View 进行改造,让它们也支持 Anko 加载的形式。...Anko SQLite 用于 Android SQLite 数据库的查询的库 Anko Coroutines 基于 kotlinx.coroutines 协程的一个工具库。...参考 1、https://github.com/Kotlin/anko/wiki/Anko-Layouts
关于Android加载状态视图切换,具体内容如下 1.关于Android界面切换状态的介绍 怎样切换界面状态?有些界面想定制自定义状态?状态如何添加点击事件?下面就为解决这些问题!...内容界面 加载数据中 加载数据错误 加载后没有数据 没有网络 2.思路转变,抽取分离类管理几种状态 以前做法: 直接把这些界面include到main界面中,然后动态去切换界面,后来发现这样处理不容易复用到其他项目中...View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent("android.settings.WIRELESS_SETTINGS...来加载他们可以提高性能。...添加到集合中,Android中选用SparseArray比HashMap更省内存,在某些条件下性能更好,主要是因为它避免了对key的自动装箱(int转为Integer类型),它内部则是通过两个数组来进行数据存储的
Kotlin作为Android开发第一语言,然而身边做Android的大多还是使用java。...Android转到Kotlin的趋势是必然的,公司隔壁部门已经全部使用Kotlin开发,我们在以后新的项目里,也会以Kotlin为主。...关于Kotlin的知识,博主只是在去年下半年的时候看过官网的教程,也读了《Kotlin for Android Developers》,并写了一个练手项目,不过大半年过去了,要把以前学过的知识重新拿起来有点儿不易...,于是总结了一些Kotlin在Android开发中的常用技巧。...}).toTypedArray() /** * ImageView加载网络图片 */ fun ImageView.loadImage(url: String) { CommonModule.picasso.load
(2)Android官方语言 (百度的资料) Kotlin很早就被运用到Android开发中,之前一直作为Android Studio的插件提供下载 2017年5月谷歌宣布将Kotlin纳入Android...2017年10月 Android Studio推出正式版3.0,从3.0版本开始Android Studio自动集成Kotlin插件,在安装Android Studio3.0时候就连带着配置了Kotlin...,跟使用Android Studio新建Java项目一样,只不过要选择Ktolin 【Kotlin简单配置】 (1)Kotlin配置 Android Studio虽然插件中带有kotlin的配置,但需要在...' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion...'com.android.support.test.espresso:espresso-core:3.0.2' implementation "org.jetbrains.anko:anko-sdk15
下一周我们会了解更多的 Kotlin 特性并且开始探索 Android KTX。...Day 16:懒加载 懒加载是个好东西!通过使用懒加载,可以省去昂贵的属性初始化的成本直到它们真正需要。计算值然后保存并为了未来的任何时候的调用。...第三周学习小结: 本周主要讨论一些基本的 Kotlin 特性,如运算符重载,内联,运算符重载,懒加载,以及非常强大的 inLine,并展示了使用 Android KTX 处理内容值,捆绑包和回调时如何编写更简洁的代码...Android 上 Kotlin 的另一个 DSL 是 Anko。Anko 允许您使用声明性代码构建 Android 视图。...Android KTX 允许您使用默认参数在视图的一侧设置填充。一行代码可以节省很多代码!
千里之行,始于 Hello World 话说我们入坑 Kotlin 之后,要怎样才能把它运用到 Android 开发当中呢?...我们作为有经验的开发人员,大家都知道 Android 现在基本上都用 gradle 构建,gradle 构建过程中只要加入 Kotlin 代码编译的相关配置,那么 Kotlin 的代码运用到 Android..." 有了这些,你的 Kotlin 代码就可以跑在 Android 上面了!...Anko 已经超神 要说用 Kotlin 写 Android,Anko 谁人不知谁人不晓,简直到了超神的地步。...不要 findViewById 作为第一篇介绍 Kotlin 写 Android 的文章,绝对不能少的就是 kotlin-android-extensions 插件了。
前面在介绍列表视图和网格视图时,它们的适配器代码都存在视图持有者ViewHolder,因为Android对列表类视图提供了回收机制,如果某些列表项在屏幕上看不到了,则系统会自动回收相应的视图对象。...随着用户的下拉或者上拉手势,已经被回收的列表项要重新加载到界面上,倘若每次加载都得从头创建视图对象,势必增加了系统的资源开销。...所以ViewHolder便应运而生,它在列表项首次初始化时,就将其视图对象保存起来,后面再次加载该视图时,即可直接从持有者处获得先前的视图对象,从而减少了系统开销,提高了系统的运行效率。...注意到适配器代码仍然通过findViewById方法获得控件对象,可是号称在Anko库的支持之下,Kotlin早就无需该方法就能直接访问控件对象了呀,为啥这里依旧靠老牛拉破车呢?...import kotlinx.android.synthetic.main.item_recycler_staggered.* 另外,因为LayoutContainer是Kotlin针对性提供给Android
在Android Studio 中使用Kotlin编写TextView、Button、Toast 介绍的话我就不说了,可以看我的第一篇关于Kotlin的文章,讲了为什么要用Kotlin的原因,进入正题,... import kotlinx.android.synthetic.main.activity_main.* 这句话的意思是引进Kotlin的的控件变量自动映射功能,接下来只要是这个...;toast("小提示:您点了一下") } 该说的都说完了,我再介绍一个库:Anko库 简介:Anko是使用Kotlin语言编写的一个Android增强库,它用于简化Android开发时的Kotlin...代码,让你的Kotlin代码更加的简洁易懂,就如同我们刚才用到的toast和longToast,这两个函数再Anko库中的原始定义是下面这样的: toast fun Context.toast(message...同时,在模块的build.gradle,在dependencies节点中补充anko-common包如下代码: implementation"org.jetbrains.anko:anko-common
3.不支持kotlin-android-extensions插件,牺牲了部分易用性。...Anko方案 Anko是JetBrains开发的一个强大的库,支持使用kotlin DSL的方式来写UI,如下所示: class MyActivity : AppCompatActivity() {...} } } } } 如上所示,Anko使用kotlin DSL实现布局,它比我们使用Java动态创建布局方便很多,主要是更简洁,它和拥有xml创建布局的层级关系...image.png 以上数据来源于:https://medium.com/android-news/400-faster-layouts-with-anko-da17f32c45dd 不过由于AnKo...Compose使用纯kotlin开发,使用简洁方便,但它并不是像Anko一样对ViewGroup的封装。
领取专属 10元无门槛券
手把手带您无忧上云