2012-03-02 4 views
-1

У меня возникли проблемы с использованием 9patch с Android SDK в Eclipse IDE (Indigo). Я создаю изображение 30 * 25 9Patch, которое я хочу использовать в качестве фона кнопки.Изменение размера изображения кнопки кнопки в приложении android

Теперь это изображение 9Patch, даже если оно так мало, отлично работает в среде IDE во время разработки. Infact, если я изменяю размер экрана устройства, моя кнопка очень сильно изменяется, и фон остается хорошо определенным с 2,7 "до 10,1" экранов.

Но когда я запускаю свое приложение на реальном устройстве или в режиме отладки (только с устройством с размером экрана> = 3,7 дюйма), изображение теряет свое качество и становится разбросанным по тому же пути, что и старая MS Paint, когда вы увеличенной к большому изображению! Как изображение в ссылке выше!

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 (300 * 250), но в этом случае она работает только на больших экранах, в то время как на небольших экраны, изменение размера фона кнопки ужасающее. Текст становится нечитаемым, фон перекрывается и иногда кажется, что он обертывается и т. д. Что, черт возьми, с этим не так? Почему в моей среде IDE все работает хорошо ile в моем приложении нет? Я не хочу создавать разные 9patch для каждой категории экранов сочетаний small-medium-large-xlarge и ldpi-mdpi-hdpi-xhdpi ... 9patch специально рождается для решения этой проблемы с изменением размера ....

я отправляю код о кнопке в вопросе:

<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> 

И это стиль применяется к кнопке:

<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> 

Надежда кто-то помогает мне .... заранее спасибо =)

+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 раза больше твоей ... Кстати, я попробую это, и я опубликую свои результаты! спасибо! – GiveEmTheBoot

+0

Извините за задержку ... но я бы хотел сказать, что ваше решение сработало очень хорошо !!! благодаря!!! – GiveEmTheBoot