最近要做一个仿网易严选的底部弹出式菜单,在弹出的菜单中可以选择具体的要买的商品,比如规格和购买数量等等;做到这里时笔者想着给规格按钮选项设置点击后改变字体颜色和边框背景,用来显示已选定的商品规格;
  
  1、首先在values文件下新建一个style.xml,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources><style name="my_button_style" parent="@android:style/Widget.Button"><item name="android:background">@drawable/my_button_border</item><item name="android:textColor">@drawable/text_color</item></style></resources>

  2、然后在drawable文件下新建my_button_border.xml和text_color.xml两个选择器,前者是在点击button时用来改变边框背景,后者是用来改变字体颜色;
  my_button_border.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true" android:drawable="@drawable/border_selected" />  <!--点击后边框背景--><item android:drawable="@drawable/border_normal" />  <!--默认边框背景--></selector>

  text_color.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true" android:color="@color/red"></item>   <!--点击后字体颜色--><item android:color="@color/black"></item>    <!--默认字体颜色--></selector>

  3、在布局文件中使用我们自己定义的style.xml样式文件,方法如下代码所示:

    <Buttonstyle="@style/my_button_style"android:id="@+id/yuan_mu_se"android:layout_width="wrap_content"android:layout_height="40dp"android:layout_marginLeft="10dp"android:layout_marginTop="10dp"android:text="原木色1400*820*750mm"android:gravity="center"android:padding="4dp"android:textSize="14dp" />

  还可以这样使用我们设置的字体颜色和边框背景,方法如下代码所示:

  <Buttonandroid:id="@+id/tao_mu_se"android:layout_width="wrap_content"android:layout_height="40dp"android:layout_marginTop="10dp"android:layout_alignParentRight="true"android:layout_marginRight="10dp"android:background="@drawable/my_button_border"android:text="桃木色1400*820*750mm"android:padding="4dp"android:textColor="@drawable/text_color"android:gravity="center"android:textSize="14dp" />

  两种方法都可以实现我们所需要效果,点击文本框实现字体颜色和边框背景的改变;
  4、上面的my_button_border.xml选择器是用改变边框背景图片的方式来实现改变边框背景的,这里最好使用.9图,从而可以做到自适应的效果;下面不使用.9图,使用shape来进行背景的绘制,新建button_border_focused.xml和button_border_normal.xml;
  button_border_focused.xml的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><solid android:color="#FFFFFF" /><corners android:radius="3dip" />  <!--设置圆角的半径--><stroke
        android:width="2dip"android:color="#ff0000" /></shape>

  button_border_normal.xml的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><solid android:color="#FFFFFF" /><corners android:radius="3dip" /><stroke
        android:width="2dip"android:color="#000000" /></shape>

  修改my_button_border.xml里面的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true" android:drawable="@drawable/button_border_focused" />  <!--点击后边框背景--><item android:drawable="@drawable/button_border_normal" />  <!--默认边框背景--></selector>

  使用shape绘制的背景,效果如下所示:

  与开始的那张演示动画相比,shape绘制的背景效果更好一些,更美观一些,也可能是笔者用画图工具的水平不够,使用哪种看情况而定吧!

Android点击View改变字体颜色和边框背景相关推荐

  1. html改游戏聊天字体颜色,html点击按钮改变字体颜色怎么实现

    html点击按钮改变字体颜色的实现方法:1.创建一个html文件:2.在html文件中添加html代码架构:3.在body标签里面使用button标签实现一个按钮,并使用style给按钮添加样式以及使 ...

  2. UITableView 点击选中改变字体颜色并记录

    //在这里判断,看indexPath是否已经被选中,如果选中就将其对应的那一行的字体颜色设置为选中时的颜色,否则就是默认的颜色 if ([_indexArray containsObject:inde ...

  3. Android AlertDialog框架(能自用改变字体颜色)

    这个AlertDialog框架能够自由改变字体颜色,这个很关键,因为AlertDialog按钮字体的颜色是根据style.xml之中colorAccent属性的值来定的,以至于可能字体颜色是白色,或者 ...

  4. android字体颜色黑色,Android中颜色选择器和改变字体颜色的实例教程

    1.构建一张七彩图: 我们经常看到这种样子的颜色选择器吧.. 然后其实右边的亮度选择是: 这样我们的代码就可以进行啦... // 创建七彩图片 private void init() { int[] ...

  5. android 字体颜色选择,Android中颜色选择器和改变字体颜色的实例教程

    易采站长站为您分析Android中颜色选择器和改变字体颜色的实例教程,其中改变字体颜色用到了ColorPicker颜色选择器,需要的朋友可以参考下 1.构建一张七彩图: 我们经常看到这种样子的颜色选择 ...

  6. oracle 输出字体颜色,PS改变字体颜色方法图解

    PS怎样改变字体颜色?一般有两种情况,一是正在输入文字格式,二是图片格式,我准备分类讲解,愿你有所收获. 步骤 一是正在输入文字格式 1.新建文件,打开文字工具栏,设计好字体和颜色 2.输入黑色的&q ...

  7. android studio 改字体,Android Studio设置、改变字体和主题的方法

    1.步骤:File >> settings >> Appearance & Behavior >>Appearance >> 来到修改界面 如下 ...

  8. android 布局颜色设置颜色设置,怎么在Android中利用view设置布局颜色

    怎么在Android中利用view设置布局颜色 发布时间:2020-12-10 16:16:37 来源:亿速云 阅读:154 作者:Leah 这期内容当中小编将会给大家带来有关怎么在Android中利 ...

  9. vba 字体颜色_Excel填充单元格颜色和改变字体颜色,用VBA是怎样实现的呢?

    大家好,我是:易天壹课堂,如果有喜欢VBA编程的朋友请关注我,如果反应好,我会为大家带来连载课程,VBA0基础到到完成整套程序开发的教程. 很多朋友就会说,你这在excel中这太简单了,直接点油漆桶就 ...

  10. C语言教你怎么改变字体颜色

    初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性. 废话不多说,先来看一下效果图: /* 颜色函数SetConsoleTextAttribute(GetStdHandle ...

最新文章

  1. 用法与区别_指示代词this, that, these, those的区别和用法
  2. java获取鼠标在窗口_Java获取窗口鼠标坐标以及键盘按键
  3. 我艹,MySQL数据量大时,delete操作无法命中索引。
  4. sql server行级锁,排它锁,共享锁的使用
  5. AWS — AWS 上的 NFV
  6. 继电反馈法自整定_基于继电反馈PID自整定方法在Buck―Boost电路中应用.doc
  7. redis 配置文件示例
  8. Kafka 2.0 升级,看看携程怎么操作!
  9. OpenGL ES 3.2
  10. RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍
  11. C程序设计--查找(二分法查找/折半查找)
  12. Visio绘图记录(1)
  13. 何宾 单片机原理及应用_stc单片机原理及应用.pdf
  14. Curve fitting C: Non-linear Iterative Curve Fitting中文翻译
  15. 用python写Hello World
  16. 如何利用excel中的数据源制作数据地图
  17. 【技巧记录】如何批量制作文件夹/文件夹名
  18. 建广数科(文思海辉)招聘
  19. 老舍:有了小孩以后,才知道一切事情没那么简单
  20. 陈情令和明月照我心都有超常镜头,为何前者被原谅,后者被唾弃

热门文章

  1. Oracle修改expired状态,更改ORACLE 用户的 expired状态
  2. Java教程:如何使用Jib插件容器化SpringBoot应用?
  3. Google Jib 容器化构建工具
  4. 【CPU微架构】分支预测(二)常用分支预测算法
  5. HIVE语法基础及实战----干货
  6. 【beef工具-01】神器beef的安装与简介
  7. 我的大学十年 (转)
  8. 置信区间、P值那点事
  9. java 实现正弦曲线(模仿、练习Java swing)
  10. css动漫效果库,10 个最佳 CSS 动画库