gpt4 book ai didi

java - 如何在android中创建自定义数据绑定(bind)? (安卓工作室)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:49 24 4
gpt4 key购买 nike

我想实现自定义函数以从 ImageView 下载图像,如下面的 app:imageUrl="@{status.imageUrl}" 所示:

 <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<data>
<variable
name="status"
type="com.databinding.data.Status" />

</data>

<RelativeLayout
android:id="@+id/status_container"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/status_avatar"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:contentDescription="@null"
app:imageUrl="@{status.imageUrl}"/>

</RelativeLayout>
</layout>

如何编写可以从 @{status.imageUrl} 自动下载图像的函数?使用此库 com.android.databinding

最佳答案

对于这项工作,您需要像 android databinding lib 这样的库.
在这个库中,首先将以下脚本添加到项目的 build.gradle 中:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath 'com.android.databinding:dataBinder:1.0-rc4'
}
}

并将这段代码添加到模块文件的build.gradle之上:

apply plugin: 'com.android.databinding'

然后创建您的类,例如:class BindingCustom 并编写以下代码:

public class BindingCustom {

@BindingAdapter({"imageUrl"})
public static void loadImage(final ImageView view, String url) {

Picasso.with(view.getContext()).load(url).into(view);

}
}

BindingCustom 类中,您有 loadImage 方法以您感兴趣的方式从 URL 下载图像,但我使用 Picasso库,因为它是这项工作的通用库,您可以将其更改为您的代码。

This is a helpful link for more information

关于java - 如何在android中创建自定义数据绑定(bind)? (安卓工作室),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35681410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com