2012-03-02 2 views
-1

Eclipse IDE (Indigo)에서 Android SDK와 함께 9patch를 사용하는 데 문제가 있습니다. 단추 배경으로 사용하려는 30 * 25 9Patch 이미지를 만듭니다.9 패치 단추 이미지가 안드로이드 응용 프로그램에서 크기 조정

이제이 9 패치 이미지는 크기가 작더라도 IDE에서 멋지게 작동합니다. 사실 장치의 화면 크기를 변경하면 버튼의 크기가 잘 조정되고 2.7 인치에서 10.1 인치 화면까지 배경이 잘 정의 된 채로 유지됩니다.

그러나 실제 장치 또는 디버그 모드 (화면 크기가 3.7보다 큰 장치에서만)로 앱을 실행하면 이미지의 품질이 떨어지고 오래된 MS 그림판과 같은 방식으로 흩어집니다. 위의 링크에있는 이미지처럼! 많은 이미지에 확대!

http://www.google.it/imgres?q=low+quality+image&um=1&hl=it&biw=1280&bih=915&tbm=isch&tbnid=jArCzplVG4XNFM:&imgrefurl=http://www.bestandroidsphones.com/tag/droid&docid=w_to2ChM5qxkwM&imgurl=http://www.bestandroidsphones.com/wp-content/Pictures/mobilephone/android_logo_low_quality.jpg&w=400&h=400&ei=bh5RT9u7NMjCswaK5I3xCw&zoom=1&iact=hc&vpx=189&vpy=161&dur=388&hovh=225&hovw=225&tx=134&ty=95&sig=102908265289684600078&page=2&tbnh=163&tbnw=162&start=30&ndsp=25&ved=1t:429,r:10,s:30

나는 또한 더 큰 9patch (* 250 300)를 사용하려고하지만,이 방법으로는 작은에있는 동안 만 큰 화면에서 작동 화면의 버튼의 배경 크기가 무섭다. 텍스트를 읽을 수 없게되고, 배경이 겹치거나 때로는 줄 바꿈 등이 생기는 것 같다 ... 내 IDE에서 모든 것이 잘 작동하는 이유는 무엇인가? 내 앱에서 ile? 각 중소형 대형 xlarge 및 ldpi-mdpi-hdpi-xhdpi 조합 화면 범주에 대해 다른 9patch를 생성하고 싶지는 않습니다 ... 9patch는 이러한 종류의 크기 조정 문제를 해결하기 위해 특수하게 생성되었습니다 ....

) =

<style name="button_style" parent="android:Widget.Button"> 
    <item name="android:background">@drawable/button_statelistdrawable</item> 
    <item name="android:textColor">@color/White</item> 
    <item name="android:textSize">28sp</item> 
</style> 

희망의 사람이 .... 사전에 감사를 내게하는 데 도움이 :

나는 문제의 버튼에 대한 몇 가지 코드를 게시 :

<Button 
    android:id="@+id/btnStart" 
    style="@style/button_style" 
    android:layout_width="match_parent" 
    android:layout_height="0px" 
    android:layout_weight=".10" 
    android:text="@string/btnStartText" > 
</Button> 

을 그리고이 버튼에 적용되는 스타일

+0

이 우리에게 9 패치 파일을 제시해주십시오, 그래서 우리는 그것을 확인할 수 있습니다. – Mannaz

+0

방금 ​​이미지를 업로드했습니다 ... https : //picasaweb.google.com/lh/photo/sjuQx48PrStkpP-39AO48dMTjNZETYmyPJy0liipFm0? feat = directlink ... – GiveEmTheBoot

답변

1

9 패치에 패딩 정의 영역이 없습니다 (하단 & 오른쪽). 따라서 유효한 9 패치가 아니기 때문에 디스플레이 오류가 발생할 가능성이 큽니다.

나는이 샘플 파일에 추가 :

sample 9-patch

+0

예 ... 알고 싶습니다. 9Patch의 왼쪽/아래에 패딩을했지만 결과는 같았습니다. 수정 된 9patch에서 내가 이해할 수없는 단 한가지가 있습니다. 오른쪽의 패딩 영역이 왜 그렇게 작습니까? 어쩌면 그것은 내 테스트에서 나는 너비보다 거의 3 배 더 넓은 왼쪽 패딩을 사용했기 때문에 아마도 작동하지 않았다 ... BTW 나는 이것을 시도하고 결과를 게시 할 것이다! 고마워! – GiveEmTheBoot

+0

지연에 대해 유감스럽게 생각하지만 ... 귀하의 솔루션이 매우 효과적이라고 말하고 싶습니다 !!! 감사!!! – GiveEmTheBoot