Kotlin View Binding,findViewById() 终结者
时间:2022-06-19
本文章向大家介绍Kotlin View Binding,findViewById() 终结者,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
AS 中如何配置 View Binding
仅需 2 步,简单快速:
1. 配置依赖
安卓扩展是 IntelliJ IDEA 与 Android Studio 的 Kotlin 插件的组成之一,因此不需要再单独安装额外插件。
开发者仅需要在 项目根目录 → app → build.gradle 文件中启用 Gradle 安卓扩展插件即可:
apply plugin:'kotlin-android-extensions'
2. 导入合成属性
Activity内仅需要一行即可非常方便导入指定布局文件中所有控件属性:
import kotlinx.android.synthetic.main.<布局>.*
假设当前布局文件是 activity_main.xml,我们只需要引入
kotlinx.android.synthetic.main.activity_main.*。
若需要调用 View 的合成属性,同时还应该导入
kotlinx.android.synthetic.main.activity_main.view.*。
导入完成后即可调用在xml文件中以视图控件命名属性的对应扩展!
使用实例
1. lauout文件中布局TextView组件
<TextView
android:id="@+id/hello"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
2. Activity中调用对象并重新赋值
hello.text = "Hello World!"
3. 运行结果
国际惯例
贴上完整源码
完整 Layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#333333"/>
</LinearLayout>
完整 Activity.kt
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_find_view_binding.*
/**
* @des Kotlin View Binding 实例类
* @author liyongli 20190301
* */
class FindViewBindingActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_find_view_binding)
// 可通过 TextView 的 id 直接赋值
hello.text = "Hello World!"
}
}
本篇到此完结,更多 Kotlin For Android Development 内容持续更新中~
期待您点击关注或点击头像浏览更多移动端开发技术干货!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 京喜前端自动化测试之路(小程序篇)
- JavaScript 混淆与逆向必读之 AST 节点类型名词基础
- 手把手教你如何实现大量图片的自适应图片页面的排列
- 那些你可能不知道的浏览器奇技淫巧
- 那些你可能不知道的 windows 奇技淫巧
- LeetCode-5.最长回文子串 中心扩散法
- 再谈备份微博
- Scala中的IO操作及ArrayBuffer线程安全问题
- 关于数字雨特效的学习
- linux 之mysql——约束(constraint)详解
- NFS+NIS+Autofs 实现用户的集中化管理
- [docker]Tomcat安装及配置访问权限
- Nginx+Keepalived 保障HA高可用
- Hash一致性闭环算法 - ( 适用于Redis扩容、Nginx多级缓存 等等 )
- MySQl 事务测试