-1

为什么 Android Studio 预览版和实际 Android 设备中的渐变看起来不同?以下是屏幕截图:在 Android Studio中
在此处输入图像描述

在此处输入图像描述
在我的安卓手机中

这是drawable/btn_background.xml文件:

<?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" />

这是一个错误还是什么?

4

1 回答 1

-1

我有一个解决我的问题的方法。我刚刚android:angle在渐变drawable中添加了该属性:

<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 手机就无法相互兼容。所以,定义角度解决了这个问题。

于 2020-03-08T05:26:14.807 回答