2014-06-11 4 views
0

나는 획을 사용하여 버튼에 강조 "3D"선을 그려하려고합니다. 어떻게해야합니까? 내 custom_button.xml 선택자의 아래 청크는 기본 버튼 상태입니다. 나는 버튼의 배경이 파란색 그라디언트로 채워지지만 핑크색 (테스트 용!) 라인이 버튼의 왼쪽에 나타날 것으로 기대하고있다.Android : 스트로크 버튼의 왼쪽에만

아래와 같이 레이어 목록을 사용해야합니까? 버튼 왼쪽에 줄을 표시하려면 어떻게합니까? 현재 분홍색 선은 전체 단추 주위에 나타나며 그라디언트 파란색 대신 검정색 단추로 채 웁니다. 이것은 두 번째 항목의 기본 색이 검정색이기 때문에입니다. 투명하게 설정하려고해도 그렇습니까? 다음은

<shape> 
    <gradient 
     android:endColor="@color/blue2" 
     android:startColor="@color/blue25" 
     android:angle="270" /> 
    <stroke 
     android:width="3dp" 
     android:color="#00FFFF" /> 
    <corners 
     android:radius="3dp" /> 
    <padding 
     android:left="10dp" 
     android:top="10dp" 
     android:right="10dp" 
     android:bottom="10dp" /> 
</shape> 

<item android:left="1dp"> 
    <shape> 
     <solid android:color="@android:color/transparent" /> 
     <stroke android:width="1dp" android:color="#FF8888" /> 
    </shape> 
</item> 

</layer-list> 

내가 (위에) 얻을 제가 (바닥에) 얻을 기대의 이미지입니다. 테스트 목적으로 만이 색상을 사용하고 있습니다! :-) 는

+0

당신이 현재의 결과를 게시 할 수 있습니다 예상 결과 .. 이미지 –

+0

@ Rod_Algonquin : 안녕하세요. 요청에 따라 예제를 첨부했습니다. 내 버튼의 왼쪽에있는 분홍색 선을 주목하십시오. 즉, 달성하려는 것입니다. 즉, XML을 통해 버튼 사각형의 어느 한면에 선을 그릴 수 있습니다. – SparkyNZ

답변

2

당신은 시도 할 수 있습니다이 @drawable/shape2 당신이

이 결과

위의 모양을 지정

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:bottom="-2dp" 
     android:right="-2dp" 
     android:top="-2dp"> 
     <shape> 
      <solid android:color="@android:color/transparent" /> 

      <stroke 
       android:width="1dp" 
       android:color="#FF8888" /> 
     </shape> 
    </item> 
    <item 
     android:drawable="@drawable/shape2" 
     android:left="1dp"> 
    </item> 

</layer-list> 

:

enter image description here

+0

좋아, 나는 그것을 얻는다. 실제로 실제로 선을 그리는 것보다는 선을 '드러내는'실제로 겹치는 모양. 저는 9 패치의 드로어 블로 원하는 것을 얻을 수 있지만 기본 안드로이드 버튼을 색칠하는 방법을 찾을 수 있었지만 다른 색으로 바랄 수 있기를 바랬습니다. 내 장치의 기본 단추는 짙은 회색이며 맨 위에 밝은 회색 선이 표시되어 3D 단추처럼 보이게합니다. 그게 내가 정말로 바꾸고 싶은 것. – SparkyNZ

+0

@ SparkyNZ 9patch에서 Gradient를 사용하면 축척이 조정되어 결과가 좋지 않을 것입니다. 9patch는 단색 만있을 때 greate입니다. –

+0

감사. 그라디언트는 놀기 위해서만 거기에있었습니다. 내가 두 개의 응용 프로그램을 가지고 있다는 것에 무슨 문제가 있었는지 - 평면 # 3d3d3d 배경으로 나타나는 기본 단추를 사용합니다. 다른 애플 리케이션은 어떤 이유로 밝은 회색을 사용합니다. 나는 스타일링이 일어나고있는 곳을 알아낼 수 없었고 어두운 회색 버튼을 흉내 내고 싶다고 결심했다. 그러나 내가 원한다면 어두운 회색에서 다른 것으로 바꿀 수있게했다. 이제는 이것이 작동하는 방법을 이해하고 기본값과 비슷한 진한 회색 버튼이 있습니다. 그래서 거기에서 이동할 수 있습니다. :-) – SparkyNZ