Почему «android: height» не меняет высоту изображения - PullRequest
0 голосов
/ 18 мая 2019

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

Я хотелисправьте это, добавив атрибут «android: height» в стиль Splash Screen и измените высоту изображения, но изображение остается растянутым.

Очевидно, атрибут android:height влияет на всесчитает, что внутри макета, который связан с Заставка

Это мой стиль для заставки:

<style name="splashScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@mipmap/app_icon</item>
    <item name="android:height">100dp</item>
</style>

Любые идеи опочему android:height влияет на вид компоновки, а не на заставку ?


примечание:

Я видел этот вопрос , говоря о разных изображениях для экрана разных размеров, но разница в том, что я не хочу, чтобы изображение распространялосьпо всему экрану.

1 Ответ

2 голосов
/ 18 мая 2019

Вы используете <item name="android:height">100dp</item> для корневого просмотра Активности.Это не экземпляр класса View, это что-то еще.И вы не можете установить высоту для него, активность должна соответствовать доступной области.

Чтобы исправить растянутое изображение, попробуйте это.Установите фоновый рисунок не растровое изображение, а растягиваемый

<style name="splashScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@drawable/shape_background_splash</item>
</style>

и создайте этот растровый рисунок

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@android:color/white"/>
    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/app_icon"/>
    </item>
</layer-list>

, если у вас есть растровое изображение для всех масштабов, оно должно выглядеть хорошо

...