Как понять, какими должны быть размеры изображений для нескольких экранов? - PullRequest
1 голос
/ 31 июля 2011

Я все еще не совсем понимаю, как изменить размер изображения, чтобы оно помещалось на маленьком, обычном и большом экране на телефоне Android.

Скажем, у меня есть изображение размером 500 на 500 пикселей и JPG.

Я хочу сделать 4 кнопки с изображением, сделав их 2 на 2 в центре экрана. Для простоты предположим, что я использую это же изображение для всех 4 кнопок.

Теперь, как мне определить, сколько мне нужно, чтобы изменить размер изображения для каждого из экранов?

Чтобы это выглядело так в центре зрения.

x   x

x   x

Ответы [ 2 ]

1 голос
/ 31 июля 2011

Я думаю, вы хотите рисовать 9 патчей (* .9.png). Они позволяют создавать растягиваемую графику и объявлять область заполнения контента. Кнопки стокового использования Android используют их.

http://developer.android.com/guide/developing/tools/draw9patch.html

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

Для кнопок вы, вероятно, захотите изменить их в зависимости от того, в каком состоянии они находятся. Для этого вы используете для рисования StateList.

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

Вот пример кнопки StateList из одного из моих приложений для отображения кнопки панели действий.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/slight_white" /> <!-- pressed -->
    <item android:state_focused="true" android:drawable="@android:color/transparent" /> <!-- focused -->
    <item android:drawable="@android:color/transparent" /> <!--menu_normal default -->
</selector>

В этом случае я использую цвета, но вы, конечно, можете заменить их и на любой другой. В том числе 9-патчей, которые вы делаете.

Полноценный пример приведен в исходном коде, поставляемом с SDK.

% ANDROID_SDK_ROOT% \ платформа \ андроида-12 \ Data \ рес \ вытяжка \ btn_default.xml

1 голос
/ 31 июля 2011

Вы смотрели на Поддержка нескольких экранов в Android Dev Guide?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...