Android GradientDrawable выглядит по-разному в предпросмотре Layout Editor - PullRequest
0 голосов
/ 07 марта 2020

Почему градиенты выглядят по-разному в Android Studio Preview и на реальном Android устройстве? Вот скриншоты:
enter image description here
In Android Studio

enter image description here
In мой Android телефон

Это drawable / btn_background. xml file:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false">
        <shape android:shape="rectangle">
            <gradient
                android:startColor="#eee"
                android:endColor="#aaa"/>
        </shape>
    </item>
    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <gradient
                android:startColor="#aaa"
                android:endColor="#eee"/>
        </shape>
    </item>
</selector>

Это код XML для двух кнопок:

<Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="display"
            android:text="@string/btn_txt"
            android:textAllCaps="false"
            android:background="@drawable/btn_background"/>

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="@drawable/btn_background"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_fullscreen_black" />

Это ошибка или что-то?

1 Ответ

0 голосов
/ 08 марта 2020

У меня есть решение моей проблемы. Я только что добавил свойство android:angle в режиме рисования градиента:

<item android:state_pressed="false">
    <shape android:shape="rectangle">
        <gradient
            android:startColor="#eee"
            android:endColor="#aaa"
            android:angle="0"/>
    </shape>
</item>

Без свойства android:angle телефоны Android Studio и Android не соглашались друг с другом. Итак, определение угла решило проблему.

...