Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to correct set rounded corners in Android for Relative or else layout?

Android is killing me.

I want set rounded corners for Relative layout, it's simple

Drawable XML may look like

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
 <padding android:left="1dp" android:top="1dp"
            android:right="2dp" android:bottom="2dp" />
    <solid android:color="#FFFFFF" />

    <corners android:radius="15dp" />

    <stroke
        android:width="2dp"
        android:color="#FFF" />

</shape>

But, if I insert into Relative layout other layout or else widget like ImageView I got not clipped childs - see picture

enter image description here

How you can see I got not clipped child element.

How do I do this right?

Maybe it helps I want rounded corners works like in iOS

givenView.layer.cornerRadius =roundAngle;
    [givenView.layer setBorderColor:[[borderColor colorWithAlphaComponent:alphaBorder] CGColor]];
    [givenView.layer setBorderWidth:borderWidth];
    givenView.clipsToBounds = YES;

Also I want show every one who think that padding it's solution:

enter image description here

Here set padding.

For correctly understating problem look at hierarchy picture

enter image description here

In here:

RelativeLayout - have described xml as background,

LinearLayout - container for custom objects with complex layouts which contains image as background and else widgets

profileStatistic - complex custom widget with many sub-objects in outer layout.

FULL picture of layout is:

enter image description here

And layout for inside controls (profileStatistic):

enter image description here

P.S. I do not need 9-path. Question not about 9-path!

like image 668
Dmitry Nelepov Avatar asked Oct 11 '12 11:10

Dmitry Nelepov


People also ask

How do I round corners in Android?

xml file and add an attribute to that TextView, for which you want to add rounded corners. The attribute is android: background=”@drawable/rounded_corner_view”.

How do you make Linearlayout rounded corners programmatically?

To make rounded corner of any layout first of all, you have to create a new xml drawable file with corners rounded and set layout background to the drawable xml file. Layouts are the user interface components in android application.


1 Answers

if you see the image rounded corner is getting applied. but child of the layout is not having round rect. that's why that corner of the is going out of the background of the parent. to solve this either you give some padding to the parent layout so that it will not go out of the parent layout's background. Or you can apply same kind of rounded corner shape drawable to the child view also.

like image 55
Raj Avatar answered Oct 25 '22 01:10

Raj