如何在android中添加涟漪效果和自定义按钮背景?

如何在android中添加涟漪效果和自定义按钮背景?,android,xml,Android,Xml,请告诉我如何同时实现这两个目标,我已经回答了很多问题,但它们并没有专门针对我的问题 我想有我的按钮上的涟漪效应,以及它应该是圆形的,并有背景色。我也应该能够控制涟漪效应的颜色 我尝试了下面列出的几件事 第一种方法:我尝试在标记中设置style=“@style/AppTheme”。这给了我涟漪效果和背景色(在样式中使用#500347),但按钮不是圆形的 所以为了实现圆形,我在标签中给出了android:background=“@drawable/button\u bg”。这使得按钮变圆,也实现了背

请告诉我如何同时实现这两个目标,我已经回答了很多问题,但它们并没有专门针对我的问题

我想有我的按钮上的涟漪效应,以及它应该是圆形的,并有背景色。我也应该能够控制涟漪效应的颜色

我尝试了下面列出的几件事

第一种方法:我尝试在
标记中设置
style=“@style/AppTheme”
。这给了我涟漪效果和背景色(在样式中使用
#500347
),但按钮不是圆形的

所以为了实现圆形,我在
标签中给出了
android:background=“@drawable/button\u bg”
。这使得按钮变圆,也实现了背景色,但涟漪效应消失了

第二种方法:我尝试使用选择器。 1.已创建button_background.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:state_focused="true"
        android:drawable="@drawable/button_bg"/>

    <item
        android:state_pressed="true"
        android:drawable="@drawable/ripple_effect"/>

    <item 
        android:drawable="@drawable/ripple_effect"/>

</selector>

  • button_bg.xml中按钮的圆形背景:

      <shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid
        android:color="#500347" />
    
    <corners
        android:radius="10dip" />
    
    <padding
        android:bottom="0dip"
        android:left="0dip"
        android:right="0dip"
        android:top="0dip" />
    
    
    

  • ripple_effet.xml:

        <ripple xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
      android:color="@android:color/holo_green_dark"
       tools:targetApi="lollipop">
    
    
        <item android:id="@android:id/mask">
    
    <shape android:shape="rectangle">
    
        <solid android:color="@android:color/holo_green_dark" />
    
        <corners android:radius="10dip" />
    
    </shape>
    
    
    

  • 标记中
    android:background=“@drawable/button\u bg”
  • 使用此方法,当按下按钮时,按钮将变为白色,并返回到背景色

    请告诉我怎么做

    在这里找到了我的答案

    但如果还有其他更简单的方法,欢迎提供更多答案。

    我是这样做的:-

  • android:background=“@drawable/ad\u action\u view\u bg”
    到我的视图。//背景是一个波纹画
  • 然后我将
    android-foreground
    设置为所需的颜色