Android - ImageView with rounded only one corner
You can use this library and put your ImageView inside the Layout
https://github.com/JcMinarro/RoundKornerLayouts
and can set the radius for specific corners like this
containerLayout.setCornerRadius(2f, CornerType.ALL);
containerLayout.setCornerRadius(2f, CornerType.BOTTOM_LEFT);
Other choices
public final enum class CornerType private constructor() : kotlin.Enum<com.jcminarro.roundkornerlayout.CornerType> {
ALL,
TOP_LEFT,
TOP_RIGHT,
BOTTOM_RIGHT,
BOTTOM_LEFT;
}
You can use the Material Components Library.
With the version 1.2.0-alpha03
there is the new ShapeableImageView
.
Just use in your layout:
<com.google.android.material.imageview.ShapeableImageView
app:srcCompat="@drawable/..."
../>
And in your code apply the ShapeAppearanceModel
with:
float radius = getResources().getDimension(R.dimen.default_corner_radius);
imageView.setShapeAppearanceModel(imageView.getShapeAppearanceModel()
.toBuilder()
.setTopRightCorner(CornerFamily.ROUNDED,radius)
.setBottomLeftCorner(CornerFamily.ROUNDED,radius)
.build());