kotlin 的使用

简介: kotlin 的使用

1.跳转Activity

常规方式

var intent =  Intent(this@MainActivity,MainActivity::class.java)
        intent.putExtra("name","wang")
        intent.putExtra("age",20)
        startActivity(intent)

使用anko

导入依赖:

startActivity<MainActivity>(
            "name" to "wang",
            "age" to 20,
            Pair("major","computer")
        )

2.类型序列化

使用 data class ,再加上@Parcelize注解

@Parcelize
data class User(var name:String) {
 
}

在build.gradle里添加

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions' 新添加
}
android {
    compileSdk 31
 
    defaultConfig {
        applicationId "com.example.kotlindemo"
        minSdk 29
        targetSdk 31
        versionCode 1
        versionName "1.0"
 
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
 
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    androidExtensions { 新添加
        experimental = true
    }
}

3.在输入完成后,自动隐藏输入法

//定义一个编辑框监听器,在输入文本达到指定长度时自动隐藏输入法
    private class HideTextWatcher implements TextWatcher {
        private EditText mView;
        private int mMaxLength;
        private CharSequence mStr;
 
        public HideTextWatcher(EditText v) {
            super();
            mView = v;
            //通过反射机制获取编辑框的最大长度
            mMaxLength = ViewUtil.getMaxLength(v);
        }
 
        //在编辑框的输入文本变化前触发
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 
        }
 
        //在编辑框的输入文本变化时触发
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            mStr = s;
        }
 
        //在编辑框输入文本变化后触发
        @Override
        public void afterTextChanged(Editable s) {
            if (mStr == null || mStr.length() ==0) {
                return;
            }
            //输入文本达到11位(如手机号码)时关闭输入法
            if (mStr.length() == 11 && mMaxLength == 11) {
                ViewUtil.hideAllInputMethod(EditHideActivity.this);
            }
            //输入文本达到6位(如登录密码)时关闭输入法
            if (mStr.length() == 6 && mMaxLength ==6) {
                ViewUtil.hideOneInputMethod(EditHideActivity.this, mView);
            }
        }
    }

 

 public static void hideAllInputMethod(Activity act) {
        //从系统服务中获取输入法管理器
        InputMethodManager imm = (InputMethodManager) act.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm.isActive()) {   //软键盘如果已经打开则关闭之
            imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
        }
    }
 
    public static void hideOneInputMethod(Activity act, View v) {
        //从系统服务中获取输入法管理器
        InputMethodManager imm = (InputMethodManager)act.getSystemService(Context.INPUT_METHOD_SERVICE);
        //关闭屏幕上的输入法软键盘
        imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
    }


目录
相关文章
|
设计模式 Java Kotlin
Kotlin 学习笔记(三)—— Kotlin 的动态代理你会写吗?(下)
Kotlin 学习笔记(三)—— Kotlin 的动态代理你会写吗?(下)
131 1
|
7月前
|
设计模式 安全 Java
Kotlin
Kotlin
73 0
|
3月前
|
Java Android开发 Kotlin
Kotlin
【9月更文挑战第13天】
23 1
|
设计模式 Java Kotlin
Kotlin 学习笔记(三)—— Kotlin 的动态代理你会写吗?(上)
Kotlin 学习笔记(三)—— Kotlin 的动态代理你会写吗?(上)
83 0
|
安全 Java Android开发
kotlin学习和常用知识
@[TOC](目录) Kotlin 是一种由 JetBrains 公司开发的静态类型编程语言,旨在为 Java 开发者提供一种更加安全、简洁、易于使用的编程语言。Kotlin 可以编译成 Java 字节码,因此可以在 Java 虚拟机(JVM)上运行。下面是关于 Kotlin 的详细解释、发展历史、语法学习和代码解读。 # 一、Kotlin 详解 1. 基本概念 Kotlin 是一种静态类型语言,这意味着在编译时会对代码进行类型检查,从而减少了在运行时的错误。Kotlin 也支持面向对象编程,具有封装、继承、多态等特性。此外,Kotlin 还支持函数式编程,具有高阶函数、Lambda 表达式、
183 0
|
JavaScript 前端开发 Java
浅谈Kotlin中的函数
本文简单谈下Kotlin中的函数,包括表达式函数体,命名参数,默认参数,顶层函数,扩展函数,局部函数,Lambda表达式,成员引用,with/apply函数等。从例子入手,从一般写法到使用特性进行简化,再到原理解析。
1146 0
|
Java Kotlin
学习Kotlin一
学习Kotlin一
100 0
学习Kotlin一
|
Java 编译器 Kotlin
Kotlin之DataClass学习
Kotlin之DataClass学习
204 0
分享Kotlin的一个小技巧
分享Kotlin的一个小技巧
Kotlin可控性探索
目录介绍 01.可空性 02.安全调用运算符:?. 03.Elvis运算符:?: 04.安全转换运算符:as? 05.非空断言:!! 06.let函数说明 07.可空类型的扩展 08.Java中判断方式 09.
1322 0