ImageView с закругленными углами в Котлине - PullRequest
0 голосов
/ 20 сентября 2019

Я хочу иметь ImageView с закругленными углами в моем фрагменте.У меня есть следующий код Kotlin:

val imageView: ImageView = root.findViewById(R.id.profile_view)
val pv = RoundedBitmapDrawableFactory.create(res, src)
pv.setCornerRadius = 0f
imageView.setImageDrawable(pv)

create и res подчеркнуты красным в Android Stuido.create говорит:

Ни одна из следующих функций не может быть вызвана со следующими предоставленными аргументами: - Bitmap?- InputStream - String

res говорит:

Выражение ожидается, но имя пакета найдено.

Я надеюсь, что кто-то может помочь мнеисправить эту проблему.

С уважением, Джереми

1 Ответ

0 голосов
/ 20 сентября 2019

Пожалуйста, отметьте это

package com.alok.myapplication

import android.content.Context
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable
import android.util.AttributeSet
import android.widget.ImageView
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory


class RoundedImageView : ImageView {

constructor(context: Context) : super(context)

constructor(context: Context, attrs: AttributeSet) : super(context, attrs)

constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(
    context,
    attrs,
    defStyleAttr
)

override fun setImageDrawable(drawable: Drawable?) {
    super.setImageDrawable(drawable)
    val radius = 0.1f
    val bitmap = (drawable as BitmapDrawable).bitmap
    val resourceId = RoundedBitmapDrawableFactory.create(resources, bitmap)
    resourceId.cornerRadius = bitmap.width * radius
    super.setImageDrawable(resourceId)
}
}

и добавьте это изображение в свой макет

 <com.alok.myapplication.RoundedImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/item_2"/>

Я надеюсь, что это решит вашу проблему

...