2012-10-11 7 views
12

Android가 나를 죽입니다.안드로이드에서 둥근 모서리를 고정 또는 다른 레이아웃으로 수정하는 방법은 무엇입니까?

내가 상대 레이아웃에 둥근 모서리를 설정하려는, 그것은

그리기 XML이

<?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> 

그러나처럼 보일 수 있습니다 간단합니다. 상대 레이아웃에 다른 레이아웃을 삽입하거나 ImageView와 같은 위젯을 삽입 한 경우 나 클립 된 자식이 없습니다. enter image description here

내가 어떻게 자식 요소를 클립핑하지 않았는지 알 수 있습니다.

어떻게 힘이 들지?

enter image description here

여기에 설정 패딩 :

아마도 그건이

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

은 또한 내가 그것을 패딩하는 것이 해결책이라고 생각 하나 하나 보여 원하는 아이폰 OS

처럼 작동 내가이 둥근 모서리 O를 할 수 있습니다. 제대로 문제를 과소 들어

여기에서 계층은 아닌 사진

enter image description here

보고 :

RelativeLayout의 - 배경으로 desribed 한 XML을,

있는 LinearLayout - 컨테이너 사용자 정의 개체에 대한 배경으로 이미지가 포함 된 복잡한 레이아웃이 있고 그렇지 않으면 위젯

profileStatistic - 외부 레이아웃의 많은 하위 오브젝트가있는 복잡한 사용자 정의 위젯.

레이아웃의

전모이다 : 내부 컨트롤

enter image description here

레이아웃 (profileStatistic)

enter image description here

P.S. 9- 경로가 필요하지 않습니다. 9 패스가 아닌가요?

답변

1

이미지가 둥근 모서리가 적용되는 것을 보면 알 수 있습니다. 레이아웃의 자식에게는 둥근 사각형이 없습니다. 그것이 부모의 배경에서 벗어나는 이유입니다. 이 문제를 해결하려면 부모 레이아웃에 패딩을 추가하여 부모 레이아웃의 배경에서 벗어나지 않도록하십시오. 또는 같은 종류의 둥근 모서리 모양 드로어 블을 자식 뷰에 적용 할 수도 있습니다.

+0

올바르지 않습니다. 여기 Bacuse 상황 : 둥근 모서리가 15dp로 설정되고 패딩 (수정)을 5dp로 설정하면 프레임 테두리와 내부 콘텐츠 위젯 사이에 공간이 생깁니다. –

+0

주어진 15dp 패딩이 15dp 반경에 충분하지 않습니다.그래서 그 코넷이 나간거야. 당신은 그 패딩을 증가시키고 체크 할 수 있습니다. – Raj

관련 문제