android databinding BindingAdapter [xml imageUrl加载图片]
来源:互联网 发布:淘宝助理数据包 编辑:程序博客网 时间:2024/05/29 11:36
来源:https://yanlu.me/android-databinding-tutorial-01/
android:text="@{user.lastName}"
搞定Android DataBinding-00主要是变量的绑定,如果需要加载图片,怎么办呢?
实际上,绑定变量的时候调用的是setter方法(TextView的”android:text”就是调用setText(String)),那么就应该支持绑定到自己指定的方法。
BindingAdapter
绑定一个下载图片的方法:需要图片URL和ImageView来显示,让这个方法能直接调用,最简单的就先定义为static。
@BindingAdapter({"imageUrl"})public static void imageLoader(ImageView imageView, String url) { Picasso.with(imageView.getContext()).load(url).into(imageView);}
绑定了上面的方法,当一个ImageView设置了”imageUrl”属性,就会调用imageLoader()方法。
BindingAdapter 属性
这样定义好之后,就可以图片下载了。
<ImageView android:layout_margin="@dimen/activity_horizontal_margin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:scaleType="centerInside" app:imageUrl='@{imgUrl ?? "http://0v7.jpg"}'/>
BindingAdapter 再加个参数
当加载文件失败的时候,使用失败的Drawable。
参数的顺序要一致:
{“imageUrl”, “error”}
(ImageView imageView, String url, Drawable error)
@BindingAdapter({"imageUrl", "error"})public static void imageLoader(ImageView imageView, String url, Drawable error) { Picasso.with(imageView.getContext()) .load(url) .error(error) .into(imageView);}
BindingAdapter 参数属性
ImageView定义的属性,可以用来当作imageLoader的函数参数。
<ImageView android:layout_margin="@dimen/activity_horizontal_margin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:scaleType="centerInside" app:imageUrl='@{imgUrl ?? "http://0v7.jpg"}' app:error="@{@drawable/ic_image_load_error}"/>
end
阅读全文
0 0
- android databinding BindingAdapter [xml imageUrl加载图片]
- Fresco 使用databinding @BindingAdapter显示图片
- Android MVVM 之DataBinding,BindingAdapter及component
- Android官方DataBinding(四):BindingAdapter
- 解决:android databinding 使用@BindingAdapter 导致application namespace for attribute {} will be ignored
- 解决:android databinding 使用@BindingAdapter 导致application namespace for attribute {} will be ignored
- 基于Android DataBinding的BindingAdapter实现密码字符*的回显
- DataBinding难点解析之Observable和BindingAdapter
- ImageUrl
- dataBinDing 绑定receycelView, listView ,和 图片加载
- Android *** Error: cannot resolve symbol bindingadapter
- Android DataBinding
- Android DataBinding
- Android DataBinding
- Android DataBinding
- Android databinding
- android DataBinding
- Android Studio Databinding在xml中使用中文报错
- 2017年8月6日21:42:57
- Error running app.main: This version of Android Studio is incompatible with the Gradle Plugin used.
- HorizontalScrollView+TabLayout+ViewPager+XUtils
- 为什么说 DOM 操作很慢
- shell脚本实现希尔排序
- android databinding BindingAdapter [xml imageUrl加载图片]
- ubuntu14.04下anaconda安装openai_gym
- storm目录结构及在zk中的目录结构
- day01
- 学生总结二
- TopK问题——求数组中第K小的数
- const作用
- 什么是服务端伪造(SSRF)
- 【源码分析】storm拓扑运行全流程源码分析