android studio 不让build对png照片进行校验 和 databinding技术
来源:互联网 发布:b超数据算胎儿体重软件 编辑:程序博客网 时间:2024/05/17 04:44
在build 里配置
compileSdkVersion 24
buildToolsVersion "24.0.1"
在这两句下边 :
aaptOptions.cruncherEnabled = false //不进行png图片合法性校验
aaptOptions.useNewCruncher = false
1.databinding的库在support里面
2.在gradle里配置:
android {
....
dataBinding {
enabled = true
}
}
3.比如说在布局里使用
?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="user" type="com.example.User"/>//这里是使用这个技术核心的地方,相当与我们的数据在這里绑定,我们可以实时只要更新这个bean 就可以更新数据
</data>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.firstName}"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.lastName}"/>
</LinearLayout>
</layout>
bean:
public class User extends BaseObservable{
//实现这个类可以做到实时更新
private final String firstName;
private final String lastName;
public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
@Bindable
public String getFirstName() {
return this.firstName;
}
public String getLastName() {
return this.lastName;
}
//set的时候实时更新
public void setFirstName(String firstName){
this.firstName=firstName;
notifyPropertyChanged(BR.firstName);
}
}
4,使用方法:
MainActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity);
User user = new User("Test", "User");
binding.setUser(user);//这就起到了绑定的效果
//其他的绑定方法
MainActivityBinding binding = MainActivityBinding.inflate(getLayoutInflater());
ListItemBinding binding = ListItemBinding.inflate(layoutInflater, viewGroup, false);
ListItemBinding binding = DataBindingUtil.inflate(layoutInflater, R.layout.list_item, viewGroup, false);
/比如ListItemBinding的个类的类名如果你不清楚的话去
app build generated source apt 包名下面去找
响应事件的主持人模式
public class MyHandlers {
public void onClickFriend(View view) { ... }
}
<data>
<variable name="handlers" type="com.example.Handlers"/>
<variable name="user" type="com.example.User"/>
</data>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.firstName}"
android:onClick="@{handlers::onClickFriend}"/>
</LinearLayout>
</layout>
public class Presenter {
public void onSaveClick(Task task){}
}
Then you can bind the click event to your class as follows:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="task" type="com.android.example.Task" />
<variable name="presenter" type="com.android.example.Presenter" />
</data>
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent">
<Button android:layout_width="wrap_content" android:layout_height="wrap_content"
android:onClick="@{() -> presenter.onSaveClick(task)}" />
</LinearLayout>
</layout>
//也可以使用各种属性:
<data>
<import type="android.graphics.drawable.Drawable"/>
<variable name="user" type="com.example.User"/>
<variable name="image" type="Drawable"/>
<variable name="note" type="String"/>
</data>
可以使用三元运算符
android:text="@{user.displayName != null ? user.displayName : user.lastName}"
可以使用各种属性的的type
<import type="android.util.SparseArray"/>
<import type="java.util.Map"/>
<import type="java.util.List"/>
<variable name="list" type="List<String>"/>
<variable name="sparse" type="SparseArray<String>"/>
<variable name="map" type="Map<String, String>"/>
<variable name="index" type="int"/>
<variable name="key" type="String"/>
- android studio 不让build对png照片进行校验 和 databinding技术
- Android studio 配置 lambda 和 dataBinding
- Android studio使用ndk-build进行编译
- Android Studio对真机和模拟器进行截图
- Android->build.gradle->dataBinding,dexOptions,lintOptions
- Struts2.0学习笔记---对所有方法进行校验和对某个方法进行校验
- android studio配置Javah 和ndk-build
- android studio配置Javah 和ndk-build
- Twitter的照片滤镜功能可能已经上线,内部员工正在对IOS和Android平台应用程序上进行测试
- Android Studio下对资源进行分包
- Android Studio下对资源进行分包
- Android Studio下对资源进行分包
- Android Studio下对资源进行分包
- Android Studio 下对资源进行分包
- Android Studio下对资源进行分包
- 使用Android databinding进行动态布局
- Android MVVM+DataBinding结合Dagger2进行开发
- Android 技术重温系列 (17)- DataBinding
- ng2学习初体验
- lucene4.7总结
- 微信 小程序 官方教程 开发文档 开发工具
- gloox配置聊天室
- 前端面试题目
- android studio 不让build对png照片进行校验 和 databinding技术
- 31.上传文件到后台ajaxfileupload.js的使用
- 堆排序(heap sort)
- Android基础:获取手机信息
- 怎样从spring官网进行spring 源码 文档 jar 下载 即 springframework-release
- 【长按菜单】contextMenu
- AAC音频码流解析
- C#/删除文件夹和拷贝文件夹的方法
- 说说javaScript中要注意的问题