这个方法比较土

1、在资源文件values文件夹下的corol.xml文件下添加一以代码(可以自己添加更多)
     <!--++++++++++++++渐变button+++++++++++++++++--><color name="color_gradient_1">#ffdc6b</color><color name="color_gradient_2">#ffe96b</color><color name="color_gradient_3">#daff6b</color><color name="color_gradient_4">#9fff6b</color><color name="color_gradient_5">#6aff84</color><color name="color_gradient_6">#69ff79</color><color name="color_gradient_7">#6affb5</color><color name="color_gradient_8">#6bffee</color><color name="color_gradient_9">#69cdff</color><color name="color_gradient_X">#6ac6ff</color><color name="color_gradient_11">#7FC13F</color><color name="color_gradient_12">#e9e9e9</color><color name="color_gradient_13">#777777</color><color name="color_gradient_14">#00D491</color><!--++++++++++++++++边角+++++++++++++++--><dimen name="button_gradient_fillet">80dp</dimen>

如图:

2、在资源文件drawable文件夹下创建long_button_gradient.xml文件并添加以下代码
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:drawable="@drawable/long_color_gradient1"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient2"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient3"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient4"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient5"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient6"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient7"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient8"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient9"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient10"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient11"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient12"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient13"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient14"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient15"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient16"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient17"android:duration="2000" /><itemandroid:drawable="@drawable/long_color_gradient18"android:duration="2000" />
</animation-list>

如图:

3、在资源文件drawable文件夹下创建

long_button_gradient1.xml ~long_button_gradientN.xml
在每一个里面并添加以下代码,渐变值自己改一下

<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="@dimen/button_gradient_fillet" /><gradientandroid:angle="45"android:centerColor="@color/color_gradient_1"android:endColor="@color/color_gradient_2"android:startColor="@color/color_gradient_3"android:type="linear" />
</shape>

下面是两张图对比:

4、接下来我们去调用一下

5、最后我们在代码中初始化控件,再去实现一下
  AnimationDrawable animationDrawable = (AnimationDrawable) btZhaohuimima.getBackground();animationDrawable.setExitFadeDuration(2000);animationDrawable.start();

看看效果:

Android笔记(三)按键动态渐变相关推荐

  1. Android笔记三十三.BroadcastReceiver使用

        广播是一种广泛运用在应用程序之间传输信息的机制,而BroadcastReceiver是对发送出来的广播进行过滤接收并响应的一类组件. BroadcastReceiver本质上是一种全局监听器. ...

  2. Android笔记 fragment入门 动态加载fragment demo+ 判断横竖屏

    代码基本与上一篇blog一样 少量更改 1布局 activity_main.xml <LinearLayout xmlns:android="http://schemas.androi ...

  3. Android笔记 fragment的生命周期

    demo执行顺序 10-22 20:38:10.281: I/System.out(26337): onAttach     附加到Activity  10-22 20:38:10.281: I/Sy ...

  4. android 动态渐变,Android 动态修改渐变 GradientDrawable

    Android 绘图学习 1GradientDrawable 简介 以前的文章写过 Android中渐变实现方式 前面的文章 讲解了如何实现渐变类似LinearGradient,SweepGradie ...

  5. 三郎前端特效学习源代码:魔法旋转粒子动态渐变特效

    三郎前端特效学习源代码:魔法旋转粒子动态渐变特效 简单介绍 效果图 源代码 html部分 js部分 第二个js部分 简单介绍 类似电影里的魔法效果 轨迹次数速度都可以自己改改 效果图 源代码 html ...

  6. Android中三种超实用的滑屏方式汇总(ViewPager、ViewFlipper、ViewFlow)

    现如今主流的Android应用中,都少不了左右滑动滚屏这项功能,(貌似现在好多人使用智能机都习惯性的有事没事的左右滑屏,也不知道在干什么...嘿嘿),由于前段时间项目的需要,所以也对其研究了一下,总的 ...

  7. Gradle for Android 第三篇( 依赖管理 )

    Gradle for Android 第三篇( 依赖管理 ) 依赖管理是Gradle最闪耀的地方,最好的情景是,你仅仅只需添加一行代码在你的build文件,Gradle会自动从远程仓库为你下载相关的j ...

  8. 020 Android之so文件动态调试

    文章目录 ELF文件格式查看工具 so文件加载时的函数执行顺序 so文件动态调试 so文件调试技巧 使用ida动态调试的那些坑 进程显示不全 illegal segment bitness more ...

  9. Android App Bundle:动态功能模块

    目录 Android App Bundle 创建动态功能模块 动态功能模块 与主模块建立关联 部署应用 按需分发On-Demand 免安装分发 自 2021 年 8 月起,Google Play 将开 ...

最新文章

  1. 入选CVPR 2022!一举打败16个同类模型,视频超分比赛冠军算法!
  2. 相机矫正_实战 | 我用位姿解算实现单目相机测距
  3. sas宏中如何跳出%do循环
  4. 前端学习(3267):js中this在类中的表现
  5. android横竖屏切换布局闪退,Android-Activity横竖屏切换不杀死Activity 并监听横竖屏切换...
  6. 微软宣布加入 OpenJDK 项目
  7. 2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述(5)——Leveraging other clues
  8. 僵尸 AI 来了,人类该怎么办?
  9. chrome浏览器下audio自动播放的hack
  10. MyBatis学习笔记(一) 概述
  11. MacOS 10.14.5单双面打印设置
  12. python常用正则表达式大全_最全的常用正则表达式大全
  13. 东隅已逝,桑榆非晚--- Tips for XJTUers
  14. cso(布谷鸟)算法优化神经网络参数
  15. 从市盈率、市净率、增值率看公司盈利经营发展状况
  16. IKexpression解读二
  17. angular RxJs
  18. Lombok 之 Log
  19. MySQL引擎:InnoDB VS MyISAM
  20. 【微信小程序】组件之页面布局

热门文章

  1. c语言与多字节编码,什么是单字节,双字节和多字节编码
  2. Jieba分词的准确率提升:使用paddle模式进行分词(使用百度飞桨深度学习模型进行分词)
  3. 梯度下降法算法比较和进一步优化
  4. 成功破解苹果iPhone全功能之网友教程篇
  5. 计算机专业男生好撩吗,撩男生很甜很撩的句子 一撩一个准
  6. 小程序里显示店铺地址,可在地图上查看,可点击导航到店铺
  7. 关于Ubuntu的16.04对应版本的ros安装和turtlebot安装
  8. 2021年十大数据分析工具排行榜出炉
  9. 原生js编写的todos
  10. TPLINK免驱版网卡插上后无法识别到CD驱动器怎么办?