ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何添加涟漪效果并在android中的按钮上有自定义背景?

2019-07-06 03:24:52  阅读:150  来源: 互联网

标签:android xml


请告诉我如何实现这两个目标,我已经解决了很多已经存在的问题,但他们并没有专门处理我的问题.

我想在我的按钮上产生涟漪效果,并且它应该是圆形的并且具有背景颜色.此外,我应该能够控制涟漪效果的颜色.

我尝试了下面列出的一些东西.

第一种方法:我尝试在< Button>中设置style =“@ style / AppTheme”.标签.这给了我涟漪效果和背景颜色(在样式中使用< item name =“colorButtonNormal”>#500347< / item>)但是按钮没有舍入.

所以为了实现圆形,我在< Button>中给了android:background =“@ drawable / button_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>

>在< Button>中标签
机器人:背景= “@绘制/ button_bg”

使用此方法按钮在按下时会变为白色,返回背景颜色.

请告诉我怎么做.

解决方法:

在这里找到我的答案. https://github.com/traex/RippleEffect/blob/master/README.md

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

标签:android,xml
来源: https://codeday.me/bug/20190706/1393676.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有