android默认的button在点击以后有默认的高亮效果,但是默认的button比较丑,要替换成自己的按钮背景,采用的方法是:

button.setBackgroundDrawable(drawable);//or

button.setBackgroundResource(resid);

可是这样就没有了点击以后的高亮效果。要实现高亮的效果,网上采用的是在XML中配置的方法:

android:drawable="@drawable/highlight" />

以上代码没试过,暂且记录着,以后试过了补完具体怎么弄。

我在实际开发中,无法使用XML来配置,需要用代码实现点击高亮的效果。网上没找到现成的,找了一下发现有StateListDrawable就是起到这个作用,一句话就是在不同的状态刷不同的drawable。

Button confirmButton = new Button(this);

confirmButton.setPadding(10, 8, 10, 9);

confirmButton.setText("吧啦吧啦吧啦");

confirmButton.setTypeface(Typeface.MONOSPACE);

confirmButton.setTextColor(Color.WHITE);

confirmButton.setTextSize(20f);

confirmButton.setClickable(true);

confirmButton.setEnabled(true);

ShapeDrawable normalView = new ShapeDrawable(new RoundRectangleShape());

ShapeDrawable pressView = new ShapeDrawable(new RoundRectangleShape().setColor(0x805c5c5c));

StateListDrawable stateListDrawable = new StateListDrawable();

stateListDrawable.addState(new int[]{android.R.attr.state_pressed}, pressView);

stateListDrawable.addState(new int[]{android.R.attr.state_enabled}, normalView);

confirmButton.setBackgroundDrawable(stateListDrawable);

ViewGroup mainScreen = (ViewGroup) this.getLayoutInflater().inflate(

R.layout.activity_main, null);

mainScreen.addView(confirmButton, new LayoutParams(

LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道

android 按钮顶级效果_Android 源码之button高亮效果相关推荐

  1. hwc android,11.2 Android显示系统框架_android源码禁用hwc和GPU

    2. 修改tiny4412_Android源码禁用hwc和gpu(厂家不会提供hwc和gpu的源代码,没有源代码就没法分析了,因此在这里禁用该功能并用软件库实现) 最终源码: git clone ht ...

  2. android 携程页面,android 仿携程首页源码(自定义button)

    [实例简介] [实例截图] [核心代码] package com.example.xiechengdemo; import android.content.Context; import androi ...

  3. android水果忍者源码,android 水果忍者的 刀锋 效果实现源码

    [实例简介] android 水果忍者的 刀锋 效果实现源码 [实例截图] [核心代码] 54532水果忍者Ninjia └── Ninjia ├── AndroidManifest.xml ├── ...

  4. android 自定义相机源码,Android 自定义相机及分析源码

    Android 自定义相机及分析源码 使用Android 系统相机的方法: 要想让应用有相机的action,咱们就必须在清单文件中做一些声明,好让系统知道,如下 action的作用就是声明action ...

  5. 【android原生态RPG游戏框架源码】

    转载请注明原创地址:http://www.cnblogs.com/zisou/p/android-RPG.html 这份源码是在今年6月份写的,当时公司有一个技术部们的学习讨论的讲座,然后我自己就写了 ...

  6. Android多线程之ArrayBlockingQueue源码解析

    阻塞队列系列 Android多线程之LinkedBlockingQueue源码解析 Android多线程之SynchronousQueue源码解析 Andorid多线程之DelayQueue源码分析 ...

  7. Android园区部队人脸识别源码门禁项目讲解

    Android园区部队人脸识别源码门禁项目讲解 这边搞人脸识别相关项目有一段时间,今天抽时间讲述一个经典的人脸识别项目:部队人脸识别门禁系统. 大家都知道部队对人员管理安全要求是相当高的,很多保密的技 ...

  8. html仿微信滑动删除,使用Vue实现移动端左滑删除效果附源码

    左滑删除在移动端是很常见的一种操作,常见于删除购物车中的商品,删除收藏夹中文章等等场景.我们只需要手指按住要删除的对象,然后轻轻向左滑动,便会出现删除按钮,然后点击删除按钮即可删除对象. 点击下载源码 ...

  9. php jquery ajax登录,jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)

    弹出层主要用于展示丰富的页面信息,还有一个更好的应用是弹出表单层丰富交互应用.常见的应用有弹出登录表单层,用户提交登录信息,后台验证登录成功后,弹出层消失,主页面局部刷新用户信息.本文我们将给大家介绍 ...

最新文章

  1. html编辑器kindeditor我的使用方法 (转载)
  2. 编译程序提示配置PKG_CONFIG_PATH
  3. 意外收获字节跳动内部资料,一篇文章帮你解答
  4. 从零开始学视觉Transformer(2):图像与Transformer基础
  5. CSDN使用富文本编辑器为所发布的文章生成右侧目录
  6. BZOJ【1606】购买干草
  7. 金山IPO造富效应:中国最贵程序员群生态
  8. 神经网络BP反向传播算法原理和详细推导流程
  9. uCOS事件相关函数代码理解
  10. 关系网络lbs的应用_基于LBS的陌生人社交APP
  11. 数据挖掘算法揭秘篇——分类方法(一)
  12. 撰写营销邮件:避开10 种常见雷区
  13. 使用安全模式启动计算机,老司机教你电脑安全模式启动方法
  14. linux php 验证码不显示_如何解决linux php 验证码不显示的问题
  15. idea 配置web项目图片无法显示问题
  16. 计算机教师使用计划书,信息技术教师个人发展计划
  17. php 反射执行类方法,PHP的反射类ReflectionClass、ReflectionMethod使用方法
  18. 《机器学习算法》SVM进行多分类及代码实现
  19. 不用写代码的Android 2D RPG游戏引擎
  20. iVX移动端应用开发指导与规范v2.0

热门文章

  1. Java生成随机数的4种方式,以后就用它了!
  2. 使用Nginx配置NodeJs程序(Windows平台)
  3. Linux debian安装Notepadqq,Linux系统下的Notepad++编辑器
  4. 思科CCNA第二学期期末考试答案
  5. 推挽输出和开漏输出_关于51单片机IO口的输出模式结构
  6. python合并两个数据框_使用python合并两个数据框
  7. MYSQL数据库实验三多表查询_数据库之 MySQL --- 数据处理 之多表查询 (三)
  8. 刀剑无双服务器显示404,刀剑无双如何开启GM命令 刀剑无双GM指令修改
  9. python中八皇后如何运算的_python解决八皇后算法
  10. 微信公众号url服务器在哪里,微信公众号url认证(服务器认证)