当前位置: 首页 > 知识库问答 >
问题:

如何使用数据绑定在android中动态设置图像视图的图像资源

鲁浩言
2023-03-14

有人能让我知道使用数据绑定在图像视图中填充图像资源的正确用法吗

共有2个答案

房学文
2023-03-14

您可以这样使用它:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_padding="20dp"
    android:scaleType="centerInside"
    android:src="@{model.isActive ? @drawable/activated_icon :@drawable/non_activated_icon}"/>

更多信息可以在这里和这里找到。

牛兴安
2023-03-14

你可以参考这个:

步骤:1

在这样的文件中创建一个方法

@BindingAdapter("set_expense_category_image")
fun ImageView.setImageResource(expenseCategory: String) {
    this.setImageResource(
        when (expenseCategory) {
            ExpenseTypes.FOOD.expenseLitral -> R.drawable.ic_baseline_fastfood_24
            ExpenseTypes.SHOPPING.expenseLitral -> R.drawable.ic_baseline_shopping_basket_24
            ExpenseTypes.GYM.expenseLitral -> R.drawable.ic_baseline_accessibility_new_24
            ExpenseTypes.MEDICAL.expenseLitral -> R.drawable.ic_baseline_medical_services_24
            ExpenseTypes.HOUSE_RENT.expenseLitral -> R.drawable.ic_baseline_house_24
            ExpenseTypes.TRAVEL.expenseLitral -> R.drawable.ic_baseline_emoji_transportation_24
            ExpenseTypes.FREE_HAND_MONEY.expenseLitral -> R.drawable.ic_outline_money_24
            ExpenseTypes.INVESTING.expenseLitral -> R.drawable.ic_baseline_monetization_on_24
            ExpenseTypes.MONTHLY_EMI.expenseLitral -> R.drawable.ic_baseline_payments_24
            ExpenseTypes.MISCELLANEOUS.expenseLitral -> R.drawable.ic_baseline_kitesurfing_24
            else -> R.drawable.ic_baseline_supervisor_account_24
        }
    )
}

步骤:2

您可以使用图像视图中的来根据输入加载动态图像,请参阅以下内容:

<ImageView
            android:id="@+id/imageView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             set_expense_category_image="@{expense.expenseCategoryName}"
            app:layout_constraintBottom_toTopOf="@+id/view"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/imageView5"
            app:srcCompat="@drawable/ic_baseline_fastfood_24" />
 类似资料:
  • 我正在drawable文件夹中存储与项目相关的图像。我还将图像名称存储在字符串变量中,并尝试动态地将这些图像设置为imageview。但是图像没有显示出来。请在这方面帮助我。 我的代码: 在上面的代码中,“图像名称”是包含图像名称的字符串变量。 提前谢谢

  • 如何在android中使用数据绑定将图像资源放入中? 我想要一个图像,如果挂起是真的,另一个图像,如果挂起是假的。但是它显示错误。我如何实现这个功能?

  • 我是android编程的新手。我想在显示时在一个xml中动态设置图像。具体来说,我将项目相关的图像存储在drawable文件夹中。此外,我将图像名称存储在字符串变量中,并尝试动态地将这些图像设置为imageview。但图像没有显示。 我的代码:

  • 我正在尝试加载带有数据绑定的图像。但我一直没有忘记。我的问题在哪里?下面是我的代码和布局结构。 MyItemViewModel。kt 布局xml

  • 我试图使用数据绑定实现一个简单的视图隐藏/显示。我有一个api调用,我必须在api调用进行时显示一个progressbar。一旦我得到响应,就必须放弃这个进度并显示数据。我尝试使用数据绑定动态地更改progressbar的可见性。但什么也没发生。只是第一次根据绑定变量设置progresbar可见性。它不是在更新绑定变量时动态更新的。 这里少了什么?为什么不管用?提前感谢…

  • 在这里,我正试图将整个图像作为卡片视图的背景。但如图所示,它占用了一些空间。我尝试了和以及其他方法,但它没有响应。在附加的图像中,紫色表示占用的空空间。我需要的空间需要占用与背景图像。这是我的代码。 这是我的代码输出的图像