Android studio 3.6.0 绑定视图使用方法

1.确保你的 build gradle 最低为3.6.0

dependencies { classpath 'com.android.tools.build:gradle:3.6.0'

}

2、在你的项目里的build gradle配置以下代码,注意 是在 android { } 里面配置

android{

viewBinding{

enabled = true; }

}

android {

//.........

viewBinding {

enabled = true;

}

}

dependencies {

//.......

}

3、代码使用方法

如果你的 MainActivity 加载的是 activity_main.xml 文件,那么你在 MainActivity 就可以使用 ActivityMainBinding

来绑定,注意ActivityMainBinding 是根据你的xml文件名生成的 如果你是login_activity.xml 那么会对应的来生成

LoginActivityBinding。

原来的onCreate方法是这样的

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

使用绑定视图之后是这样的

public class MainActivity extends Activity {

ActivityMainBinding binding;//这个是你对用的XML文件生成的

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

binding = ActivityMainBinding.inflate(getLayoutInflater());

setContentView(binding.getRoot());

}

假如你的布局里有 TextView 和 Button 两个组件 id 分别为 text 和 button  如下

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/text"

android:layout_width="match_parent"

android:layout_height="wrap_content">

android:id="@+id/button"

android:layout_width="match_parent"

android:layout_height="wrap_content">

那么视图绑定功能的使用时这样的,省去了findViewById的过程

public class MainActivity extends Activity {

ActivityMainBinding binding;//这个是你对用的XML文件生成的

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

binding = ActivityMainBinding.inflate(getLayoutInflater());

setContentView(binding.getRoot());

}

protected void initView() {

binding.text.setText("视图绑定练习");

binding.button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//按钮点击事件

}

});

}

​}

简单的使用记录下,适配器,Fragment等绑定基本差不太多,欢迎自行探索

public class FragmentOne extends BaseFragment{

FragmentOneBinding binding;

@Override

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup

container, @Nullable Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.fragment_one,container,false);

binding = FragmentOneBinding.bind(view);

return view;

}

}

到此这篇关于android studio 3.6.0 绑定视图新特性的方法的文章就介绍到这了,更多相关android studio绑定视图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

android studio viewo,android studio 3.6.0 绑定视图新特性的方法相关推荐

  1. Android Q(10.0)版本新特性和兼容性适配

    北京时间2019年3月14日Google正式对外发布Android Q Beta 1及预览版SDK,这意味着安卓开发者们又即将迎来一年一度的新版本适配工作了.Android Q 为开发者们带来了许多新 ...

  2. HALCON: HALCON 20.11.0.0 Progress主要新特性

    HALCON: HALCON 20.11.0.0 Progress主要新特性 改进了基于形状的匹配 在HALCON 20.11中,对基于形状匹配的核心技术进行了改进,尤其是针对低对比度和高噪声的场景. ...

  3. Spring Boot3.0正式发布及新特性解读

    Spring Boot 3.0 正式发布 同时发布更新的还有 2.7.x 和 2.6.x 两条版本线,Spring Boot 是我见过的发版最守时的技术框架之一. Spring Boot 3.0 现已 ...

  4. 大数据哔哔集20210106 - Hadoop3.0有哪些新特性

    [大数据哔哔集]是小编发起的每日大数据圈子最前沿.高频.有难度的面试题目以及资讯等. 精简版总结 1.JDK版本的最低依赖从1.7变成了1.82.HDFS支持Erasure Encoding3.Tim ...

  5. android屏幕适配的五种方式_讲一讲Android 9.0系统的新特性,对刘海屏设备进行适配...

    黑客技术点击右侧关注,了解黑客的世界! Java开发进阶点击右侧关注,掌握进阶之路! Python开发点击右侧关注,探讨技术话题!作者丨郭霖来源丨郭霖(guolin_blog) 其实Android 9 ...

  6. Android之华为meta10 pro安卓8.0绑定服务(bindService)失败解决办法

    1.问题 Intent intent = new Intent("com.gsta.ukeyesurfing.service.UkeyService"); boolean resu ...

  7. [Android 新特性] 有史来最大改变 Android 5.0十大新特性

    距离Android系统上一次重大更新不到一年的时间,谷歌再一次从KitKat升级到了Lollipop,而两次都使用糖果来命名,营销的目的显露无 遗.当我们首次看到Android 5.0 Lollipo ...

  8. Android 5.0 十大新特性

    距离 Android 系统上一次重大更新不到一年的时间,谷歌再一次从 KitKat 升级到了 Lollipop,而两次都使用糖果来命名,营销的目的显露无遗.当我们首次看到 Android 5.0 Lo ...

  9. Android L系统 剖析安卓5.0安卓L新特性

    Android L系统全新发布了!在Google I/O 2014上,Google正式发布了最新一代安卓系统Android L,安卓系统终于告别了安卓4.×,迈入了全新的版本周期.新一代安卓系统此前一 ...

最新文章

  1. 动态图相册 android,‎App Store 上的“动态图相册”
  2. 传统数据仓库架构与Hadoop的区别
  3. 前1000位粉丝的诞生
  4. 分布式系统——zabbix 用 onealert实现报警、agent主动模式、proxy代理
  5. 数字化转型的研究方向
  6. Hadoop大数据--Mapreduce程序运行并发度
  7. php合同在线签约功能_【市场在线】杭汽辅机实现海外发电市场重大突破 —成功签约阿联酋Fujairah F3 IPP项目表冷器合同...
  8. LeetCode 1496. 判断路径是否相交(set)
  9. MySql使用TEXT/BLOB类型的几点注意
  10. 2021年高压电工模拟考试题库及高压电工模拟考试系统
  11. C++ 独木舟旅游活动
  12. js正则表达式将中文标点转为英文标点
  13. sfpatcher:针对应用商店的apk增量算法
  14. 基木鱼html标签,基木鱼 | QA常见问题|【其他类】
  15. 在低谷期应该做点什么
  16. element 复杂表格渲染(1)
  17. 2月19日foremost隐写wp
  18. 微信小程序怎么做店铺?看一眼就知道了
  19. html轮播台袋效果,使用html+js+css 实现页面轮播图效果(实例讲解)
  20. 学习yade的日常犯错2019.4.7

热门文章

  1. Optional类的使用
  2. java datetime long_Android Java datetime值从String到Long到String问题
  3. 提高千倍效率的35个编码小技巧,老司机带你飞!
  4. 面试中常问多线程相关的知识,在工作中到底用在哪里呢?
  5. Java中的回调机制,这篇给你整的明明白白的
  6. Spring框架----Spring的bean的生命周期
  7. Algorithm Data structure
  8. python读文件指定行的数据
  9. 2017 济南综合班 Day 2
  10. delphi 第三方组件 log4cpp.dll