I want to create ImageView like this (right side of the image):
I have it in CardView layout so I have rounded corners of the card but I need to create rounded left bottom corner of the image alone (or with top right).
I tried several options but nothing work correctly.
How can I do this? Do you have some tip?
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());
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;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With