2012-05-18 5 views
2

제기 된 사영 경계 (스윙 용어)가있는 사용자 지정 패널과 유사한 뷰를 그려야합니다. 거기에 몇 가지 미리 정의 된 방법이 있습니까? 예를 들어 현재 버튼 스타일의 테두리를 사용할 수 있습니까? 아니면 내 자신의 9 패치 또는 뭔가를 만들 의무가 있습니까?테두리가있는 기본 배경이 있습니까?

+0

난 당신이 원하는 모든이 사영 보더 인 경우 자신의 아홉 패치 이미지 –

+0

를 만들 생각 , 당신은 shape drawables로 이것을 할 수 있을지도 모른다. 그러나 나는 이것을 나 자신으로 시험해 보지 않았다. –

답변

3

이 방법을 사용하면 레이어 목록이있는 XML 드로어 블을 만들고 버튼 구조를 직접 구성 할 수 있습니다. 예제에서는 다음과 같은 버튼 스타일을 얻습니다. 당신의 스타일에 맞게 필요한 경우

enter image description here

그리고 모든 색상

는 변경 될 수 있습니다. 모서리가 90º가 아니라 45º 각도에 있어야한다는 것을 알고 있습니다. 그러나 여기에 몇 가지 테스트없이 이것을 보여줄 수있는 쉬운 방법은 없습니다.

enter image description here

: 우리는 약간 덜 눈의 통증 스타일을 얻을 수 있습니다 단지 경계의 모양에 <corners android:radius="4dp"></corners>를 추가하여 당신이 여기 달성 할 수 있는지의 또 다른 예를 들어

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <!-- The gray part of the border --> 
    <item> 
     <shape> 
      <solid android:color="#fccc"></solid> 
     </shape> 
    </item> 
    <!-- The black part of the border --> 
    <item android:right="2dip" 
      android:bottom="2dp"> 
     <shape> 
      <solid android:color="#f000"></solid> 
     </shape> 
    </item> 
    <!-- The content --> 
    <item android:left="2dip" 
      android:top="2dp" 
      android:right="2dip" 
      android:bottom="2dp"> 
     <shape> 
      <solid android:color="#ffafafaf"></solid> 
     </shape> 
    </item> 
</layer-list> 

: 소스 XML은 다음과 같다

아니면 다른 접근법을 찾아서 올린 사각 경계선을 피할 수 있습니다. XML 쪽에서 더 쉬울 수도 있고 더 좋을 수도 있습니다. 버튼의 종류 달성하기

enter image description here

는 XML 그냥 쉽게입니다으로 다음

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners android:radius="4dp"></corners> 
    <solid android:color="#fccc"></solid> 
    <stroke android:width="2dp" android:color="#ff6f6f6f"></stroke> 
</shape>