请告诉我如何同时实现这两个目标,我已经解决了许多问题,但他们并没有专门处理我的问题。
我想在我的按钮上产生涟漪效果,并且它应该是圆形的并且具有背景颜色。此外,我应该能够控制涟漪效果的颜色。
我尝试了下面列出的一些事情。
第一种方法:我尝试在style="@style/AppTheme"
标记中设置<Button>
。这给了我涟漪效果和背景颜色(在样式中使用<item name="colorButtonNormal">#500347</item>
),但按钮没有圆角。
为了实现圆形,我在android:background="@drawable/button_bg"
标记中提供了<Button>
。这使得按钮变圆并且还实现了背景颜色,但是波纹效果消失了。
第二种方法:我尝试了使用选择器。 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>
<Button>
标记中
android:background="@drawable/button_bg"
使用此方法按钮在按下时会变为白色,返回背景色。
请告诉我怎么做。
答案 0 :(得分:1)
在这里找到我的答案。 https://github.com/traex/RippleEffect/blob/master/README.md
但如果还有其他更简单的方法,欢迎提供更多答案
答案 1 :(得分:0)
我是这样做的: -
android:background="@drawable/ad_action_view_bg"
我认为。 //背景是Ripple drawable android - foreground
设置为所需的颜色。