Общие требования к приложениям Android

#android #android-screen

#Android #android-экран

Вопрос:

Я хочу разработать приложение для Android, которое может работать на всех телефонах Android с типом экрана. Итак, мой вопрос:

Можно ли хранить все ресурсы изображения только в папке HDPI? Или мне понадобятся все 3 типа ресурсов LDPI, MDPI И HDPI?

Если я использую относительный макет для разработки этого приложения, что произойдет с изображениями, на которых есть текст (фоновое изображение кнопки _, на котором будет текст «Отправить»). Android будет масштабировать изображение в соответствии с экраном устройства, но способен ли он соответствующим образом масштабировать текст?

Пожалуйста, подскажите мне, как справиться с этой проблемой.

Как создать приложение, которое может работать на всех телефонах Android с экраном любого типа?

Ответ №1:

Чтобы разработать приложение для Android с поддержкой нескольких экранов, вы должны вкратце ознакомиться с этим руководством: поддержка нескольких экранов Android

В сути ваших вопросов:

1. Конкретный ресурс в drawable автоматически берется в зависимости от плотности. Таким образом, вы должны размещать определенные изображения в mdpi, hdpi, ldpi соответственно.

2. Прочитайте и поймите значения тегов экрана поддержки манифеста:

 <supports-screens android:smallScreens="true"
        android:resizeable="true" android:largeScreens="true"


        android:anyDensity="true" android:normalScreens="true"></supports-screens>
  

3. Текст должен быть изменен:

Вы должны использовать стили, тогда у вас могут быть отдельные папки «значения» (по умолчанию) «значения-hdpi» (высокая плотность) «значения-mdpi» (средняя плотность) и так далее, и при необходимости поместите свой файл стиля с правильными значениями textSize в каждую папку.

Затем, когда вы находитесь на устройстве средней плотности, он выберет файл в папке «значения-mdpi», если он существует, или в «значениях», если нет, и то же самое для высокой плотности и т. Д…

Этот же принцип применяется ко всем вложенным папкам «res» (чертежи, значения и т. Д.)

Или просто, если не использовать стили, просто используйте dp вместо размера sp текста.

Ответ №2:

Если вы помещаете изображения только в папку HDPI, это будет работать. но в идеале вы должны размещать изображения в соответствии с плотностью. кроме того, если вы используете изображение 9 patches на фоне кнопки, Android растягивает изображения в соответствии с требованиями, однако, если в каком-то случае вы обнаружите, что изображение растягивается неправильно, вы можете использовать отдельные изображения для альбомного и портретного режимов.

Ответ №3:

Если я использую относительный макет для разработки этого приложения, что произойдет с изображениями, на которых есть текст (например, фоновое изображение кнопки, на котором будет текст «Отправить»). android будет масштабировать изображение в соответствии с экраном устройства, но способен ли он соответствующим образом масштабировать текст?

=> Если вы хотите предоставить масштабируемые изображения, которые можно автоматически сжимать / растягивать в соответствии с размером экрана, тогда есть инструмент с 9 патчами, с помощью которого вы можете создать масштабируемое изображение, и после этого вам не нужно беспокоиться о размере экрана и плотности экрана.

Вот хороший пример: http://www.dibbus.com/2011/03/9patch-images-in-android /

Вот также хорошая статья и руководство по созданию образа с 9 исправлениями: http://radleymarx.com/blog/simple-guide-to-9-patch /