Android customView(扩展 AppCompatImageView)app:srcCompat 不显示图像
Android customView(extends AppCompatImageView) app:srcCompat not showing image
我制作的自定义视图只是扩展了 AppCompatImageView
class BadgeImageView: AppCompatImageView {
constructor(context: Context) : super(context) {
}
constructor(context: Context, attrs:AttributeSet?):super(context, attrs){
}
constructor(context: Context, attrs:AttributeSet?, defStyleAttr:Int):super(context, attrs,defStyleAttr){
}
}
当我像这样使用 AppCompatImageView 时..
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_button_star" />
AppCompatImageView Result
当我像这样使用 BadgeImageView 时..
<com.my.proj.common.view.BadgeImageView
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_button_star" />
BadgeImageView Result
如您所见,我只是使用了自定义视图而不是它,但它根本没有加载图像。
为什么?
尝试使用它。希望工作顺利
class BadgeImageView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : AppCompatImageView(context, attrs, defStyleAttr) {
}
Xml 此处为代码片段。
<ui.components.BadgeImageView
app:srcCompat="@drawable/ic_reported_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/reportedTitle"
android:layout_width="0dp"
android:layout_height="60dp"/>
这里是截图
我制作的自定义视图只是扩展了 AppCompatImageView
class BadgeImageView: AppCompatImageView {
constructor(context: Context) : super(context) {
}
constructor(context: Context, attrs:AttributeSet?):super(context, attrs){
}
constructor(context: Context, attrs:AttributeSet?, defStyleAttr:Int):super(context, attrs,defStyleAttr){
}
}
当我像这样使用 AppCompatImageView 时..
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_button_star" />
AppCompatImageView Result
当我像这样使用 BadgeImageView 时..
<com.my.proj.common.view.BadgeImageView
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_button_star" />
BadgeImageView Result
如您所见,我只是使用了自定义视图而不是它,但它根本没有加载图像。
为什么?
尝试使用它。希望工作顺利
class BadgeImageView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : AppCompatImageView(context, attrs, defStyleAttr) {
}
Xml 此处为代码片段。
<ui.components.BadgeImageView
app:srcCompat="@drawable/ic_reported_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/reportedTitle"
android:layout_width="0dp"
android:layout_height="60dp"/>
这里是截图