Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 后台可绘制未应用于按钮_Android_Button - Fatal编程技术网

Android 后台可绘制未应用于按钮

Android 后台可绘制未应用于按钮,android,button,Android,Button,这是登录按钮(登录按钮)的背景: 这是我应用背景的按钮: 这是styles.xml文件: @颜色/原色 @颜色/原色暗 @颜色/颜色重音 尽管如此,按钮仍然是黑色的,没有应用drawable。如何修复它 要获得按钮中的可绘制渐变,必须将属性从Buton更改为androidx.appcompat.widget.AppCompatButton <androidx.appcompat.widget.AppCompatButton android:id="@+id/b

这是登录按钮(登录按钮)的背景:


这是我应用背景的按钮:


这是styles.xml文件:


@颜色/原色
@颜色/原色暗
@颜色/颜色重音
尽管如此,按钮仍然是黑色的,没有应用drawable。如何修复它


要获得按钮中的可绘制渐变,必须将属性从Buton更改为androidx.appcompat.widget.AppCompatButton

<androidx.appcompat.widget.AppCompatButton
    android:id="@+id/btn_login"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="@dimen/loginViewsMargin"
    android:background="@drawable/login_button_bk"
    android:text="Login" />

同样,使用上面的方法来创建一个drawable将不会在您的按钮中产生涟漪效应,以添加使用此代码的按钮

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/white">

<item>

    <shape
        android:shape="rectangle">
        <corners android:radius="27dp" />
        <gradient
            android:angle="45"
            android:centerX="35%"
            android:endColor="#79EBFD"
            android:startColor="#408bff"
            android:type="linear" />
        <size
            android:width="182dp"
            android:height="54dp" />
    </shape>

</item>

</ripple>

要获得按钮中的可绘制渐变,必须将属性从Buton更改为androidx.appcompat.widget.AppCompatButton

<androidx.appcompat.widget.AppCompatButton
    android:id="@+id/btn_login"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="@dimen/loginViewsMargin"
    android:background="@drawable/login_button_bk"
    android:text="Login" />

同样,使用上面的方法来创建一个drawable将不会在您的按钮中产生涟漪效应,以添加使用此代码的按钮

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/white">

<item>

    <shape
        android:shape="rectangle">
        <corners android:radius="27dp" />
        <gradient
            android:angle="45"
            android:centerX="35%"
            android:endColor="#79EBFD"
            android:startColor="#408bff"
            android:type="linear" />
        <size
            android:width="182dp"
            android:height="54dp" />
    </shape>

</item>

</ripple>

只需按以下方式更改主题即可

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

@颜色/原色
@颜色/原色暗
@颜色/颜色重音

只需按以下方式更改主题即可

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

@颜色/原色
@颜色/原色暗
@颜色/颜色重音

您使用的是基于
MaterialComponents
的主题,因此
android:background
属性不起作用,默认情况下不支持渐变。查看此答案了解更多信息,请编写
应用程序:backgroundTint=“@null”
。它是有效的。无需更改。您使用的是基于
MaterialComponents
的主题,因此
android:background
属性不起作用,默认情况下不支持渐变。查看此答案了解更多信息,请编写
应用程序:backgroundTint=“@null”
。它是有效的。没有什么可更改的。如果有人想使用材质主题,但又想用渐变绘制背景,该怎么办?制作
app:backgroundTint=“@null”
。如果有人想使用材质主题,但又想用渐变绘制背景,那该怎么办?制作
app:backgroundTint=“@null”
。它是有效的。