IT科技类资讯

鸿蒙Harmony应用开发view-binding插件,和findComponentById说再见

时间:2010-12-5 17:23:32  作者:IT科技类资讯   来源:应用开发  查看:  评论:0
内容摘要:想了解更多内容,请访问:和华为官方合作共建的鸿蒙技术社区https://harmonyos.51cto.com/#zzharmony-view-binding最新版本:Gitee仓库查看是什么?- v

想了解更多内容,鸿蒙和请访问:

和华为官方合作共建的应用开鸿蒙技术社区

https://harmonyos.51cto.com/#zz

harmony-view-binding

最新版本:Gitee仓库查看

是什么?

- view-binding for harmony

- 鸿蒙应用开发view-binding插件,消除findComponentById模版代码

- 无注解、插件编译期间生成Binding类文件

怎么用?说再

1. 在project根目录的build.gradle文件中引入view-binding的maven仓库地址和classpath

buildscript {      repositories {          maven {              url https://mirrors.huaweicloud.com/repository/maven/         }         maven {              url https://developer.huawei.com/repo/         }         jcenter()         maven{              url https://dl.bintray.com/eholee/maven         }     }     dependencies {          classpath com.huawei.ohos:hap:2.4.0.1         // view-binding         classpath com.eholee.plugin:view-binding:1.0.1     } } 

 2. 在feature模块的build.gradle文件中引入view-binding插件

apply plugin: com.huawei.ohos.hap apply plugin: com.eholee.plugin.view-binding ohos {  ... } viewBinding{  enable true } dependencies {  ... } 

 3. 执行gradle sync 即可自动生成ViewBinding类,生成目录在feature中的鸿蒙和build/generated/source/viewBinding中,高防服务器

类的应用开命名方法通过获得xml布局文件名后遵循大驼峰法(Upper Camel Case)并追加Binding后缀,如:MainAbilityBinding

4. 在需要填充布局的插件地方使用

主要是两个api:1. binding = AbilityMainBinding.parse(this); 2. binding.getRoot()

public class MainAbilitySlice extends AbilitySlice {  private AbilityMainBinding binding; @Override public void onStart(Intent intent) {  super.onStart(intent); binding = AbilityMainBinding.parse(this); super.setUIContent(binding.getRoot()); binding.textHelloworld.setClickedListener(new Component.ClickedListener() {  @Override public void onClick(Component component) {  new ToastDialog(MainAbilitySlice.this).setText("click").show(); } }); } @Override public void onActive() {  super.onActive(); } @Override public void onForeground(Intent intent) {  super.onForeground(intent); } } 

 可选项

1. 提供设置根布局api

parse(Context context, ComponentContainer parent, boolean attachToRoot)   

2. 支持feature模块view-binding功能的开启与关闭:

feature中的build.gradle中设置

viewBinding{          enable false          // false为关闭,插件将不会解析该feature所有的说再xml布局文件,         //true为开启,站群服务器鸿蒙和插件将会解析该feature下所有的应用开xml布局文件 }  

 3. 支持针对单个xml布局文件开启与关闭view-binding功能

默认是都开启,如需关闭,插件需在xml根节点中加入如下信息:

xmlns:eholee="http://schemas.eholee.com/viewbinding"  eholee:view_binding="false"  示例:  <?说再xml version="1.0" encoding="utf-8"?>  <DirectionalLayout       xmlns:ohos="http://schemas.huawei.com/res/ohos"       xmlns:eholee="http://schemas.eholee.com/viewbinding"       eholee:view_binding="false"       ohos:height="match_parent"       ohos:width="match_parent"       ohos:background_element="$color:colorAppBackground"       ohos:orientation="vertical">       ...   </DirectionalLayout>  

 Gitee仓库地址:https://gitee.com/jeffer_s/harmony-view-binding

参考

1. Android ViewBinding

2. com.huawei.ohos:hap:2.4.0.1 插件api

LICENSE

Apache License 2.0

©著作权归作者和HarmonyOS技术社区共同所有,如需转载,鸿蒙和请注明出处,应用开否则将追究法律责任.

想了解更多内容,插件请访问:

和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

服务器托管
copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap