2015-11-19 2 views
0

В настоящее время я работаю над мобильным приложением Android, и я столкнулся с проблемой рендеринга изображения с мобильным телефоном Android, который меньше по размеру. Изображения выглядят аккуратно на телефонах, таких как Nexus, Samsung, которые имеют широкие экраны, но изображение перекрывается на меньших экранах телефонов. Я использую ионный, чтобы построить свой код. & включили бутстрап.Обработка изображений в мобильных приложениях

Я включил следующий код в стиле части:

@media only screen and (max-width: 768px) { 
/* For mobile phones: */ 
[class*="col-"] { 
    width: 100%; 
} 

Ниже кода в теле:

<div class="col-xs-12 col-md-12 col-sm-12" > 
<div id="journey" class="col-xs-2"> 
          <a href=" "> <img src="./images/launch 48.png" class="img_responsive" style="width:60px;height:70px;padding:5px;position: relative;left:1%;" cursor="pointer" onclick="" /></a> 
</div> 
<div id="conveyance" class="col-xs-2"> 
          <a href="./4s.html "><img src="./images/launch 48.png" class="img_responsive" style="width:60px;height:70px;padding:5px;" cursor="pointer" /></a> 
</div> 
<div id="per-diem" class="col-xs-2" > 
          <a href=" "> <img src="./images/launch 48.png" class="img_responsive" style="width:60px;height:70px;padding:5px;"cursor="pointer" onclick="" /></a> 
</div> 
      <div id="lodging" class="col-xs-2" > 
          <a href=" "><img src="./images/launch 48.png" class="img_responsive" style="width:60px;height:70px; padding:5px;"cursor="pointer" onclick="" /></a> 
</div> 
      <div id="misc_1" class="col-xs-2" > 
          <a href=" "><img src="./images/launch 48.png" class="img_responsive" style="width:60px;height:70px; padding:5px;" cursor="pointer" onclick="" /></a> 
</div> 
      <div id="end_journey" class="col-xs-2"> 
          <a href=" "> <img src="./images/launch 48.png" class="img_responsive" style="width:60px;height:70px;padding:5px;"cursor="pointer" onclick="" /></a> 
</div> 

+0

Не могли бы вы создать скрипку дублировать эту проблему? – odedta

+0

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

+0

http://jsfiddle.net/ - воссоздайте проблему, которая у вас есть на этом веб-сайте, нажмите «Сохранить» и вставьте ссылку здесь. – odedta

ответ

1

Использование погружного вместо Рха

На экране с разрешением 240 точек на дюйм 1 дп равен 1,5 физическим пикселям. Вы всегда должны использовать модули dp при определении пользовательского интерфейса вашего приложения, чтобы обеспечить правильное отображение вашего интерфейса на экранах с различной плотностью.

Как Поддержка несколько экранов:

1. Явный декларирует в манифесте экрана размеров которого ваше приложение поддерживает:

Объявив который размер экрана поддерживаемого вашего приложения, вы можете гарантировать, что только устройства с поддерживаемыми экранами могут загрузить ваше приложение. Объявление поддержки разных размеров экрана также может повлиять на то, как система рисует ваше приложение на больших экранах - в частности, работает ли ваше приложение в режиме совместимости с экраном. Чтобы объявить размеры экрана, поддерживаемые вашим приложением, вы должны включить элемент в файл манифеста.

2. Обеспечить различные макеты для различных размеров экрана:

По умолчанию Android изменяет макет приложения для отображения на экране текущего устройства. В большинстве случаев это прекрасно работает. В других случаях ваш пользовательский интерфейс может выглядеть не так хорошо и может потребоваться корректировка для разных размеров экрана. Например, на большом экране вы можете настроить положение и размер некоторых элементов, чтобы воспользоваться дополнительным пространством экрана или на меньшем экране, вам может потребоваться отрегулировать размеры, чтобы все могло поместиться на экране. Квалификаторы конфигурации, которые вы можете использовать для предоставления ресурсов по размеру, являются маленькими, нормальными, большими и xlarge. Например, макеты для особо большого экрана должны идти в layout-xlarge /. Начиная с Android 3.2 (уровень API 13) вышеупомянутые группы размеров устарели, и вместо этого вы должны использовать квалификатор конфигурации swdp, чтобы определить наименьшую доступную ширину, необходимую вашим ресурсам макета. Например, если для вашего планшета с несколькими панелями требуется не менее 600 dpi ширины экрана, вы должны поместить его в layout-sw600dp /. Использование новых методов для объявления ресурсов макета обсуждается далее в разделе «Объявление шаблонов планшетов для Android 3.2».

3. Обеспечить различный растровый для вводимого коэффициента различной плотности экрана: По умолчанию Android масштабирует растровый (вводимый коэффициент .png, .jpg и .gif файлы) и Nine-Patch (.9.png вводимого коэффициент файлов) так что они визуализируются с соответствующим физическим размером на каждом устройстве.Например, если ваше приложение предоставляет растровые чертежи только для базовой линии, плотности среднего экрана (mdpi), система масштабирует их на экране с высокой плотностью и масштабирует их на экране с низкой плотностью. Это масштабирование может вызвать артефакты в растровых изображениях. Чтобы ваши растровые изображения выглядели как можно лучше, вы должны включить альтернативные версии с различными разрешениями для разных плотностей экрана. Квалификаторы конфигурации (подробно описанные ниже), которые вы можете использовать для ресурсов плотности, это ldpi (low), mdpi (medium), hdpi (high), xhdpi extra-high), xxhdpi (extra-extra-high), и xxxhdpi (сверх-экстра-экстра-высокий). Например, растровые изображения для экранов с высокой плотностью должны идти в drawable-hdpi /.

Пожалуйста, обратитесь http://developer.android.com/guide/practices/screens_support.html

Если вы хотите узнать больше, то смотрите: What is the difference between "px", "dp", "dip" and "sp" on Android?

Смежные вопросы