После масштабирования изображения, которое я использую для своего ImageButton с помощью Nine-patch Generator для извлечения всех файлов в формате dpi, а также для поддержания соответствующих расширений «.9» и ссылки на растровое изображение в src кнопки, я еще получить следующий результат с Nexus 5 виртуальный эмулятор (1080X1920, xxhdpi):Масштабирование ImageButton для различных размеров экрана
... Там нет никакого способа в аду, что ImageButtons являются 227X53 пикселей (xxhdpi) здесь ... Но, скорее, система получает более низкий dpi, например mdpi.
Вот XML код только одной из кнопок:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/demosBtn"
android:src="@drawable/demo_btn"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:background="@android:color/transparent" />
И как для вытяжки файла ресурсов кнопки демо:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/pressed_demo" android:state_pressed="true"/>
<item android:drawable="@drawable/norm_demo"/>
</selector>
P.S. Я попробовал это с ImageView, установил его как clickable, установил adjustViewBounds в true и установил scaleType в centerCrop, и все же он не сработал.
Изображения, которые вы используете в реальных растровых изображениях с 9 патчами? Если это так, я мог бы видеть ошибку, подобную этому. Линии над выделенной ошибкой заставляют меня думать, что это не так. Если это так, вручную добавление расширений не будет работать. Каков конечный эффект, который вы пытаетесь достичь? – wblaschko
Ну, они были первоначально масштабированы png-изображениями, а затем я загрузил их в каталог соответствия dpi, а затем я «вручную» изменил имена файлов и каталога dpi на исходное имя файла вместе с расширением «.9». если это то, что вы просите lol – DaveNOTDavid
http: //stackoverflow.com/questions/36039936/scaling-imagebuttons-for-various-screen-sizes ... В принципе, эмулятор Nexus 5 (xhdpi), похоже, извлекает файл с разрешением dpi из каталога lpdi. – DaveNOTDavid