2014-01-06 5 views
7

본질적으로 왼쪽과 오른쪽에 반원이있는 내 안드로이드 프로젝트에서 내 imagebuttons에 사용할 모양을 만들려고합니다.반원형 가장자리가있는 안드로이드 버튼

저는 반경이있는 모양 XML을 사용할 수 있다고 생각했습니다. 그러나 그것은 단지 내가 아래의 이미지와 같은 반원으로 전체 좌우측을 필요로하는 구석을 둥글게 만듭니다.

모양에 대한 내 현재 XML은 다음과 같습니다

<?xml version="1.0" encoding="utf-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" 
    android:color="@color/white"> 

    <corners 
     android:radius="60dip" 
     /> 

    <stroke 
     android:width="0dp" 
     android:color="#000000" /> 


    <solid 
     android:color="@color/white" /> 

</shape> 

하지만 난이 효과를 얻기 위해 노력하고 있어요 : enter image description here

답변

1

당신의 버튼을 어떻게 높이를? 모서리가 둥근 모양을 그리는 모양이 효과적 일 경우 반경을 단추의 높이의 절반으로 지정해야합니다.

+0

실제 모양의 높이를 설정하지 않은 것을 볼 수 있듯이 xml ..해야합니까? 버튼에 대한 레이아웃을 40dp로 설정했기 때문에 반경을 변경하지 않아도 반경을 동적으로 설정할 수 있습니까? – erik

+1

실제 장치 또는 에뮬레이터에서 테스트 중이십니까? 레이아웃의 버튼이 40dp 인 경우 코너 반경을 20dp로 지정합니다. 실제 장치 및/또는 에뮬레이터에서 시도해보고 레이아웃 xml 파일 – Matt

+0

과 함께 얻을 수있는 스크린 샷을 게시하십시오. 옳은 것처럼 보입니다. 실제로 예상/원하는 결과를보기 위해 장치에 게시해야했습니다. 와우는 시간의 허리, 감사합니다 – erik

4

는이 같은 모든 모서리 반경을 지정해야합니다

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="@color/green" /> 
    <size android:height="30dp" /> 
    <corners 
     android:bottomRightRadius="15dp" 
     android:bottomLeftRadius="15dp" 
     android:topRightRadius="15dp" 
     android:topLeftRadius="15dp" 
     /> 
</shape> 

당신은 폭을 지정하지 않아야합니다, 그것은 배경 당김으로 폭을 조정할 수 있도록.