Как сделать приложения Android совместимыми с различными разрешениями экрана? - PullRequest
3 голосов
/ 23 декабря 2009

Как мы можем изменить размеры нашего приложения для разных экранов на разных устройствах Android?

Ответы [ 3 ]

4 голосов
/ 23 декабря 2009

Если вы хотите, чтобы ваши макеты работали на экранах с разным разрешением, вы должны определить их размер, используя dip в качестве единицы измерения. Например:

android:layout_marginRight="10dip"

dip означает независимый от устройства пиксель, и использование их в макете означает, что Android автоматически масштабирует макет в зависимости от того, какой дисплей имеет устройство, на котором работает ваше приложение.

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

1 голос
/ 23 декабря 2009

Да, как ответил Дейв, лучше всего использовать «dip».

Кроме того, некоторые экраны имеют различное соотношение высоты и ширины, поэтому использование только «падения» будет недостаточно. Тогда у вас есть 2 варианта. Если вы всегда используете макеты, такие как LinearLayout, RelativeLayout и т. Д. С «заливкой родителя», у вас все будет хорошо, потому что экран будет расти. Но иногда вы устанавливаете фиксированную высоту на что-то, и если вы развернете это на дроиде (например), это будет выглядеть коротким, потому что у дроида больше отношение высоты / ширины, чем у G1 / G2 / и т. Д. В этом случае вам нужно будет установить высоту с помощью кода.

0 голосов
/ 19 апреля 2011

Проверьте разрешение экрана в logcat, используя следующий код

DisplayMetrics displaymetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);

        height = displaymetrics.heightPixels;
        width = displaymetrics.widthPixels;

Если размер экрана отображается как 480x569, из-за этого только экран может быть обрезан в конце. Чтобы решить эту проблему, вы должны изменить номер версии minSDK в файле манифеста.

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