Я установил единый образ (640x960) следующим образом:Как рассчитать размер изображения для заставки экрана конкретного андроид устройства
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.imagetest.MainActivity"
tools:showIn="@layout/activity_main">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/launch_image"
android:scaleType="center"/>
</RelativeLayout>
Обратите внимание на scaleType является «центр», который, согласно документации не означает отсутствие масштабирования. При работе на Nexus 5x это изображение выглядит намного больше, чем экран, и отображается только частично.
Я прочитал про android не используя разрешение напрямую. Тогда возникает вопрос, как рассчитать размер изображения, который должен соответствовать экрану конкретного устройства Android без масштабирования.
Я понимаю, что изображение Nine Patch можно использовать для создания всплесков, которые не будут искажать часть изображения, которое не следует масштабировать. Этот вопрос частично для меня, чтобы лучше понять, как пиксели изображения относятся к экрану реального устройства, и если использование изображения Nine Patch является единственным способом гарантировать, что изображения брызг будут работать на устройствах Android любых размеров экрана.
Большое спасибо
В какой плотности папки вы ставите этот образ? – rajesh
Как будто вы помещаете изображение только в одну папку, например. xhdpi, android будет масштабировать это изображение в соответствии с его плотностью. Таким образом, изображение будет выглядеть меньше на экране hdpi и больше на экранах xxhdpi и xxxhdpi. – rajesh
Хороший вопрос. У меня было только изображение, пригодное для рисования. Почему это сделает изображение 640x960 больше, чем экран Nexus 5x? –