android 带背景的波纹按钮
android ripple button with background
我使用 XML 在 android 5.0 中成功创建了一个波纹按钮。我的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- the flat button to be used in app -->
<!-- define the ripple -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<!-- the ripple object -->
<item android:id="@android:id/mask">
<!-- button shape (w/ radius) -->
<shape android:shape="rectangle">
<!-- radius of vertices -->
<corners
android:topLeftRadius="7dp"
android:topRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:bottomRightRadius="7dp" />
<!-- color accent (not working) -->
<solid android:color="?android:colorAccent" />
</shape>
</item>
</ripple>
我的按钮有问题:按钮的背景颜色不会改变。我也试过:
<solid android:color="#0000ff" />
背景仍然保持透明(colorAccent 也不起作用)。
如果不通过
,我应该如何将矩形(按钮)的背景设置为蓝色
<solid/>
属性?
谢谢
使用@android:id/mask
标识符将图层设置为蒙版,仅用于裁剪边界,不绘制。删除 id 属性应该会给你你正在寻找的东西。此外,如果角的半径都相同,则可以只使用 android:radius
属性。
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:attr/colorControlHighlight">
<item>
<shape android:shape="rectangle">
<corners android:radius="7dp" />
<solid android:color="?android:attr/colorAccent" />
</shape>
</item>
</ripple>
我使用 XML 在 android 5.0 中成功创建了一个波纹按钮。我的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- the flat button to be used in app -->
<!-- define the ripple -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<!-- the ripple object -->
<item android:id="@android:id/mask">
<!-- button shape (w/ radius) -->
<shape android:shape="rectangle">
<!-- radius of vertices -->
<corners
android:topLeftRadius="7dp"
android:topRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:bottomRightRadius="7dp" />
<!-- color accent (not working) -->
<solid android:color="?android:colorAccent" />
</shape>
</item>
</ripple>
我的按钮有问题:按钮的背景颜色不会改变。我也试过:
<solid android:color="#0000ff" />
背景仍然保持透明(colorAccent 也不起作用)。
如果不通过
,我应该如何将矩形(按钮)的背景设置为蓝色<solid/>
属性?
谢谢
使用@android:id/mask
标识符将图层设置为蒙版,仅用于裁剪边界,不绘制。删除 id 属性应该会给你你正在寻找的东西。此外,如果角的半径都相同,则可以只使用 android:radius
属性。
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:attr/colorControlHighlight">
<item>
<shape android:shape="rectangle">
<corners android:radius="7dp" />
<solid android:color="?android:attr/colorAccent" />
</shape>
</item>
</ripple>