【发布时间】:2020-08-10 02:37:54
【问题描述】:
我有一个正在布局中显示的可绘制对象。可绘制对象具有默认属性,例如颜色和宽度。我正在创建一个数据类,以便能够在创建回收器视图时更新这些数据类。中间填充颜色的部分正在工作。但我一直坚持如何从 viewHolder 实际更新可绘制宽度和 ImageView 边距。
mydrawable.xml
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/rect_outline"
android:src="@drawable/mydrawable"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</LinearLayout>
数据类
data class ImageData(
val c: String
val width: Int
val marginLeft : Int
)
MyViewHoler.kt
internal class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bind(item: ImageData) {
itemView.rect_outline.setColorFilter(Color.parseColor(item.c))
}
}
【问题讨论】:
-
不,很遗憾,它没有。我不是想改变 Imageview 的宽度,只是改变它的边距。另一方面,我确实想更新可绘制宽度
标签: android kotlin android-recyclerview rx-kotlin data-class