首页 > 解决方案 > 渐变按钮显示默认紫色

问题描述

我正在尝试在按钮上创建渐变背景,但是当我按照之前提出的问题的答案执行此操作时,我得到的只是默认的紫色。

布局.xml

<Button
        android:id="@+id/instagram_button"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:background="@drawable/gradient_shape"
        android:text="Open Instagram Profile"
        ></Button>

渐变形状.xml

android:shape="rectangle">
<gradient
    android:angle="270"
    android:centerColor="#F82634"
    android:endColor="#FA3B6F"
    android:startColor="#FA7D6F" />

<padding
    android:bottom="7dp"
    android:left="7dp"
    android:right="7dp"
    android:top="7dp" />

<corners android:radius="60dp" />

我得到的按钮背景

标签: androidandroid-studio

解决方案


|最终更新|:将按钮更改为 ImageButton 并将 srcCompat 设置为我想要的可绘制对象,此方法有效!为了让我的按钮相互重叠,我使用了一个框架布局来封装它们,如下所示。

 <FrameLayout
    android:layout_width="380dp"
    android:layout_height="50dp"
    android:layout_gravity="center">
        <ImageButton
            android:id="@+id/image_button"
            android:text="Open Instagram Profile"
            android:layout_width="380dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:backgroundTint="@null"
            android:background="@null"
            app:srcCompat="@drawable/custom_button" />

    <Button
        android:id="@+id/instagram_button"
        android:layout_width="380dp"
        android:layout_height="50dp"
        android:layout_gravity="center"
        android:background="@null"
        android:backgroundTint="@null"
        android:text="Open Instagram Profile"
        android:alpha="0"
        />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Open Instagram Profile"
        android:gravity="center"
        android:textSize="20dp"
        android:textColor="@color/white"
        ></TextView>
</FrameLayout>

推荐阅读