android - 当按钮具有波纹效果时,在按钮属性中更改按钮(出现)的颜色

标签 android xml

我想改变按钮的颜色。比方说:蓝色。我们如何在ripple.xml文件中添加按钮的颜色,这实际上是按钮的属性?从下面的代码来看,按钮的颜色是透明的。

content_main.xml 中的按钮

  <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/ripple"
        android:text="Hello World!" />

波纹.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:color="#f816a463"
    tools:targetApi="lollipop">
    <item android:id="@android:id/mask">
        <shape android:shape="rectangle">
            <solid android:color="#f816a463" />
        </shape>
    </item>
</ripple>

编辑1

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:color="#16a463"
    tools:targetApi="lollipop">
    <item android:id="@android:id/mask">
        <shape android:shape="rectangle">
            <solid android:color="#16a463" />
        </shape>
    </item>
</ripple>

最佳答案

问题是 android:id="@android:id/mask" 。我认为它提供了android的自定义值。

试试这个.....

      <ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <item android:drawable="@drawable/button_normal" />
</ripple>

输出:-

enter image description here

您必须为此动画使用选择器....

anim.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/ripple"/>
    <item android:drawable="@drawable/button_normal"/>
</selector>

并在 button_normal.xml 中设置默认颜色......

并在你的按钮背景中设置anim.xml .....

注意:- Ripple 在 API 级别 21 及更高级别上工作......

关于android - 当按钮具有波纹效果时,在按钮属性中更改按钮(出现)的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40735238/

相关文章:

PHP 和 AJAX : How to send/handle error responses?

.net - 从 Controller 返回 XDocument (dotnet coreclr)

java - 服务应用程序停止工作

android - 开始时相机应用崩溃

android - 为Android实现指纹认证

c++ - 如何在不发疯的情况下将 msxml 与 Visual Studio 2008 Express(无 ATL 类)一起使用?

java - xml 资源或 sqlite

php - java.lang.IllegalArgumentException : bad base-64 in android 异常

java - 建议的通知振动持续时间?

android - 如何使用 Picasso 或 Glide 库将图像字符串路径加载到 ImageView 中?