前言
之前有讲过kotlin学习知识,但由于后期各种原因没有继续下去,那么今天将会把之前的知识作简单梳理,并继续开始学习进程。
今天要涉及的知识:
-
anko库的引用 -
kotlin之于java的优势初识
一. anko库的引用
新版本的androidstrudio已经不再需要因为建kotlin项目而作特别的设置了,只需要在建项目的时候,勾选kotlin语言项即可。
在新建一个kotlin项目以后,我们需要在项目中添加anko库引用,我们可以简单的认为anko库是一个kotlin语法增强库,其官网如下:
anko官网
在kotlin项目中,我们可以在app_module对应的build.gradle中这样引入anko库(当前最新版本为0.10.8):
dependencies {
implementation "org.jetbrains.anko:anko:0.10.8"
//其他代码省略
//......
}
二. kotlin 之于 java 的优势初识
kotlin可以算是java的增强吧,可以兼容java代码,相对而言拥有很多优势,下面以最基本的控件初始化相关代码进行讲解。以简单布局activity_main.xml为例,其代码如下:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="大家哈"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_name"
android:layout_marginTop="30dp"
android:text="测试"
android:textColor="#000000"/>
</androidx.constraintlayout.widget.ConstraintLayout>
可以看到TextView的id为tv_name,Button的id为btn_test。在kotlin项目中,我们不需要通过findById来初始化控件,可以直接用控件id来操作此控件。
如给以上的TextView设置值,我们可以像下面这样:
tv_name.setText("大家好") //给text View设置值
甚至可以简化为下面这样:
tv_name.text="你是谁" //给text View设置值
对应的,要是给以上Button设置点击事件的话,可以像下面这样:
btn_test.setOnClickListener {
btn_test.setText("按钮")
}
在anko库的加持下,要写一个Toast提示,你可以像下面这样:
toast("我是短提示") //Toast短提示
longToast("我是长提示") //Toast长提示
以上便是kotlin初识了,ok,今天的内容就到这里了,谢谢大家。