一、准备工作
使用Android studio,安装Kotlin插件。步骤如下:
Preferences->Plugins->安装Kotlin插件。
二、新建工程
点击Start a new Android Studio project,输入Application name:HelloKotlin,点击下一步,默认配置即可,在添加Activity选项中,选择Add No Activity,咱们不创建Activity,点击Finish开始创建工程。
三、添加Kotlin配置
Tools->Kotlin->Configure Kotlin in Project,在弹出的菜单中选择Android with Gradle->All modules,点击OK,Sync Now之后,我们来看看有哪些变化:
主要在app/build.gradle文件中增加了:
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
我们在这一句配置下面再增加Anko配置:
compile 'org.jetbrains.anko:anko-sdk15:0.8.3+' // sdk19, sdk21, sdk23 are also available
compile 'org.jetbrains.anko:anko-support-v4:0.8.3+' // In case you need support-v4 bindings
compile 'org.jetbrains.anko:anko-appcompat-v7:0.8.3+' // For appcompat-v7 bindings
点击Sync Now。
四、创建Kotlin Activity
右键包名,New->Kotlin Activity->Empty Activity->Next->勾上Launcher Activity->Finish。它会自动生成一个Activity,包括layout布局,AndroidMainfest配置注册和代码文件。我们运行这个工程,可以看到可以执行了。
五、使用Anko布局
我们删除自动生成的layout布局文件:res/layout/activity_main.xml,然后在MainActivity.kt编写如下代码:
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import org.jetbrains.anko.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
MainActivityUi().setContentView(this)
}
}
class MainActivityUi : AnkoComponent<MainActivity> {
override fun createView(ui: AnkoContext<MainActivity>) = with(ui) {
verticalLayout {
textView("Hello Kotlin!")
}
}
}
运行后可以看到界面上多了Hello Kotlin!:
现在,我们通过实现AnkoComponent<T>接口,重写createView()方法,来创建MainActivity的布局,verticalLayout是Anko为我们提供的verticalLayout扩展布局,相当于Android的LinearLayout,orientation为Vertical的布局,相应的,我们也可以使用其他Android的layout。textView是Anko提供的TextView控件。我们可以添加一个Button:
class MainActivityUi : AnkoComponent<MainActivity> {
override fun createView(ui: AnkoContext<MainActivity>) = with(ui) {
verticalLayout {
textView("Hello Kotlin!")
button("Click me") {
onClick {
toast("Oh, You clicked me!")
}
}
}
}
}
可以直接添加点击事件,提示一句话。其他好的控件可以自己尝试一下。