我使用以下代码为我的按钮添加了涟漪效果,但它周围的边框消失了,按钮已与背景合并。我想在它周围添加边框以区分它。
这是我按钮的代码:
<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>
答案 0 :(得分:1)
实际上,您可以同时使用background
和foreground
属性,例如:
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"