在android中添加涟漪效果按钮边框?

时间:2016-07-19 10:12:57

标签: android button layout views

我使用以下代码为我的按钮添加了涟漪效果,但它周围的边框消失了,按钮已与背景合并。我想在它周围添加边框以区分它。

这是我按钮的代码:

<Button
            android:id="@+id/email_sign_in_button"
            style="?android:textAppearanceLarge"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/selectableItemBackground"
            android:textColor="#ffffff"
            android:text="@string/action_sign_in" />

这是按钮的drawable:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners
        android:bottomLeftRadius="1dp"
        android:bottomRightRadius="1dp"
        android:radius="0.1dp"
        android:topLeftRadius="1dp"
        android:topRightRadius="1dp" />
    <solid android:color="@android:color/transparent" />
    <stroke
        android:width="1dp"
        android:color="#E8E6E7" />
</shape>

2 个答案:

答案 0 :(得分:1)

实际上,您可以同时使用backgroundforeground属性,例如:

android:background="@drawable/the_name_of_your_button_file"
android:foreground="?android:attr/selectableItemBackground"

答案 1 :(得分:0)

android:background="?attr/selectableItemBackground"

导致按钮呈现主题,并且像透明一样融入背景。您没有指向按钮的可绘制文件,该文件具有stroke元素,该元素提供边框。

如果你想要一个边框,你必须通过使用:

指向它来使用drawable中的stroke元素
android:background="@drawable/the_name_of_your_button_file"