2012-09-12 4 views
4

레이아웃을 눌렀을 때 배경을 변경하고 싶습니다. 레이아웃이 항상 같은 모양이 아니므로 이미지를 중앙에 유지할 9 패치 이미지를 만들었습니다. 내 이미지는 다음과 같습니다9- 선택기의 패치가 검은 점을 표시합니다.

enter image description here

그럼 내 선택 XML은 다음과 같습니다 : 나는이 코드를 가지고와 내 이미지가 그것을 채우기 위해 뻗어 9 패치 아니었다

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:state_pressed="true" 
    android:drawable="@drawable/my_selector" 
    /> 
<item> 
    <shape android:shape="rectangle"> 
     <solid android:color="#00ffffff" /> 
    </shape> 
</item> 
</selector> 

. 이미지를 9 패치로 변경했지만 이미지를 일반 .png 파일로 취급합니다. 구석 구석에 검은 점들이 있습니다. 이미지의 9 패치 다움이 존중되지 않는 그리고 그것은 단지 일반 .PNG 파일로 치료를 받고 왜 내가 궁금

enter image description here

.

+0

9 패치 PNG 파일의 형식은 다음과 같습니다 : image.9.png? – Raz

+0

예 it 's my_selector.9.png – xbakesx

+0

실제 .9.png 파일을 업로드 할 수 있습니까? – mehmetminanc

답변

4

저는 이미지의 아래쪽과 오른쪽 부분에 두 개의 점이 사용되었다고 생각합니다. 나는 그들이이 두 차원에서 분리 된 영역을 처리하는 방법을 시스템이 알고 있다는 것을 확신하지 못한다. 본질적으로이 이미지의 '내용'부분은 오른쪽 및 아래쪽 테두리의 네 점의 교차 부분 인 네 개의 픽셀 영역으로 구성됩니다.

당신이 그것을 꺼내면 나는 그것이 당신을 위해 훨씬 더 예측 가능하게 늘어나야한다고 생각합니다.

+0

Nick이 이깁니다! 나는 9 패치의 오른쪽과 아래쪽에있는 도트가 이미지의 늘이는 영역이 아니라 (선택적인) 패딩 영역이라는 것을 깨닫지 못했습니다. 나는 단지 문서를 읽어야한다고 생각한다. http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch – xbakesx

관련 문제