[Kotlin&Anko开发Android入门学习笔记]-01使用Kotlin创建Activity活动

一、准备工作

使用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文件中增加了:

 
  
  1. compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"


我们在这一句配置下面再增加Anko配置:

 
  
  1. compile 'org.jetbrains.anko:anko-sdk15:0.8.3+' // sdk19, sdk21, sdk23 are also available
  2. compile 'org.jetbrains.anko:anko-support-v4:0.8.3+' // In case you need support-v4 bindings
  3. 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配置注册和代码文件。我们运行这个工程,可以看到可以执行了。

[Kotlin&Anko开发Android入门学习笔记]-01使用Kotlin创建Activity活动_第1张图片

五、使用Anko布局

我们删除自动生成的layout布局文件:res/layout/activity_main.xml,然后在MainActivity.kt编写如下代码:

 
  
  1. import android.support.v7.app.AppCompatActivity
  2. import android.os.Bundle
  3. import org.jetbrains.anko.*
  4. class MainActivity : AppCompatActivity() {
  5.    override fun onCreate(savedInstanceState: Bundle?) {
  6.        super.onCreate(savedInstanceState)
  7.        MainActivityUi().setContentView(this)
  8.    }
  9. }
  10. class MainActivityUi : AnkoComponent<MainActivity> {
  11.    override fun createView(ui: AnkoContext<MainActivity>) = with(ui) {
  12.        verticalLayout {
  13.            textView("Hello Kotlin!")
  14.        }
  15.    }
  16. }


运行后可以看到界面上多了Hello Kotlin!:

[Kotlin&Anko开发Android入门学习笔记]-01使用Kotlin创建Activity活动_第2张图片

现在,我们通过实现AnkoComponent接口,重写createView()方法,来创建MainActivity的布局,verticalLayout是Anko为我们提供的verticalLayout扩展布局,相当于Android的LinearLayout,orientation为Vertical的布局,相应的,我们也可以使用其他Android的layout。textView是Anko提供的TextView控件。我们可以添加一个Button:

 
   
  1. class MainActivityUi : AnkoComponent<MainActivity> {
  2.    override fun createView(ui: AnkoContext<MainActivity>) = with(ui) {
  3.        verticalLayout {
  4.            textView("Hello Kotlin!")
  5.            button("Click me") {
  6.                onClick {
  7.                    toast("Oh, You clicked me!")
  8.                }
  9.            }
  10.        }
  11.    }
  12. }

可以直接添加点击事件,提示一句话。其他好的控件可以自己尝试一下。

[Kotlin&Anko开发Android入门学习笔记]-01使用Kotlin创建Activity活动_第3张图片

你可能感兴趣的:(Android)