2013-10-16 3 views
0

9 패치 이미지를 사용하여 다른 화면 크기로 확대 할 수있는 버튼 선택기를 만듭니다.android에 9 패치 png 적용

<?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/img_common_white_button_bg_pressed" /> 
    <item android:drawable="@drawable/img_common_white_button_bg_default" /> 

</selector> 

을 그리고 난이 괜찮을한다고 생각 : 그래서 나는 기본적으로이 같은 선택에합니다 (.9.png없이) 파일의 이름을 전달합니다. 는 XML의 그래픽 레이아웃 화면은 버튼으로 어떤 문제가 표시되지 않습니다,하지만 난 내 장치에서 응용 프로그램을 실행할 때, 이것은 내가 무엇을 얻을 수 있습니다 :

enter image description here

그래서 내가 있는지 확실하지 않다 이미지를 잘못된 방식으로 적용했거나 9 패치 파일의 문제점입니까? 나는 누군가가 이것으로 나를 계몽 할 수 있다면 정말 감사 할께. 고맙습니다.

+0

파일 이름은 다음과 같아야합니다. img_name.9.png. 이 패치를 사용하여 http://android-ui-utils.googlecode.com/hg/asset-studio/dist/nine-patches.html – SathishKumar

+0

내 파일이 img_name.9.png 인 경우 패치를 그립니다. 그러면 상태를 기재해야합니까? 이 XML과 같은 안드로이드 : drawable = "@ drawable/img_name.9"'? –

+0

이와 같이 할 필요는 단순히'android : drawable = "@ drawable/img_name"'을 쓰면됩니다. 시작 자체에서 올바른 것을 적용 했으므로 문제는 적용 단계가 아니지만 이미지에 문제가있을 수 있습니다. – SathishKumar

답변

1

아래 고려해야 9 패치 이미지에 대한 것을 언급하십시오 :

-> 이미지를 .9.png하는이 패치의 표시 이미지 주변에 검은 색 테두리를 가지고 있습니다.

- 그것은 그 9 패치 이미지가로부터 0.9을 제거 귀하의 경우에는 확장

로 .9.png해야합니다 그래서 .9.png 9 패치 이미지로 식별 가진 당김 폴더 이미지> 이미지 이름이므로 이미지 주위에 검정 테두리가있는 일반 드로어 블이됩니다.

2 가지 옵션이 있습니다. 버튼에서 패치를 제거하고 모든 안드로이드 드로어 블 사이즈로 다시 만드십시오. 또는 드로어 블 폴더에 확장명 .9.png가있는 9 개의 패치 이미지가 남아 있습니다.

+0

예 내 파일은 9 패치 이미지이며, 안드로이드 자산 도구로 생성되었으며 .9.png 명명 규칙을 사용합니다. 내 질문은 작동하도록 XML 파일에 전체 이름 (접미사 포함)을 전달해야합니까? 현재 나는 위와 같이 그들을 사용하고 있기 때문에 그들은 가장자리를 보여줍니다. –

+0

선택자 파일에서 접미사를 정의 할 필요가 없으므로 일반 이미지로 구현할 수 있습니다. –

+0

네, 그게 제가 한 일이고 가장자리는 보여줍니다. 9 패치 이미지에 문제가 있다는 뜻입니까? –

0

는 img_common_white_button_bg_default.9.png

img_common_white_button_bg_pressed.9.png로 이미지의 이름을 바꿉니다.

참고 : 일반 PNG 파일 (.PNG는) 빈 1 픽셀 테두리로드됩니다 당신이 신축성 패치 및 콘텐츠 영역을 그릴 수있는 이미지, 주위 덧붙였다. 이전에 저장 한 9 패치 파일 ( .9.png)은 이미 있기 때문에 도면 영역이 추가되지 않은 상태로 현재 상태로로드됩니다.

공식 문서를 읽기 : Draw 9-patch

1

pls .9.png을 모든 해상도 폴더에 복사 할 것인지 확인하십시오. drawable-hdpi drawable-xhpdi drawable-xxhdpi.

기기의 dpi가 해상도 폴더와 같지 않은 경우 Android가 경계 영역 (정적 영역)을 늘리는 것처럼 들립니다. drawable 폴더에 .9.png 만 복사하면 dpi가 3 인 장치에서 실행되는 경우 테두리가 3 배 넓게 늘어납니다.