android 自定义控件——(五)按钮点击变色-程序员宅基地

技术标签: 移动开发  

----------------------------------按钮点击变色(源代码下有属性解释)-----------------------------------------------------

 

 

一、shape 样式:(在drawable新建--》new--》Drawable resource file 在父级标签selector添加Item

 <?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#73c4f3" />
<stroke android:width="2dp" android:color="#ffffff" />
<corners android:radius="20dp" />
<padding android:bottom="5dp" android:left="10dp" android:right="10dp" android:top="5dp" />
<gradient android:angle="270" android:endColor="#8accf2" android:startColor="#8accf2" android:type="sweep" />
</shape>
</item>

<item>
<shape>
<solid android:color="#3fb3f6" />
<stroke android:width="2dp" android:color="#ffffff" />
<corners android:radius="20dp" />
<padding android:bottom="5dp" android:left="10dp" android:right="10dp" android:top="5dp" />
</shape>
</item>
</selector>

二、style 样式:
<style name="rectangle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">15sp</item>
<item name="android:textColor">#ffffff</item>
<item name="android:background">@drawable/buttonclickstyle</item>
</style>

三、Button控件调用style样式:


<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.ly.blogtest.MainActivity">

<Button
android:id="@+id/button"
style="@style/rectangle"
android:text="@string/btn1" />
</RelativeLayout>

 

----------------------------------按钮点击变色-----------------------------------------------------

 

----------------------------------item属性标记------------------------------

  • android:state_pressed 是否按下,如一个按钮触摸或者点击。  
  • android:state_focused 是否取得焦点,比如用户选择了一个文本框。  
  • android:state_hovered 光标是否悬停,通常与focused state相同,它是4.0的新特性  
  • android:state_selected 被选中,它与focus state并不完全一样,如一个list view 被选中的时候,它里面的各个子组件可能通过方向键,被选中了。  
  • android:state_checkable 组件是否能被check。如:RadioButton是可以被check的。  
  • android:state_checked 被checked了,如:一个RadioButton可以被check了。  
  • android:state_enabled 能够接受触摸或者点击事件  
  • android:state_activated 被激活  
  • android:state_window_focused

 应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了 

注意:如果有多个item,那么程序将自动从上到下进行匹配,最先匹配的将得到应用。(不是通过最佳匹配)  

如果一个item没有任何的状态说明,那么它将可以被任何一个状态匹配。 

----------------------------------item属性标记------------------------------

按钮形状、颜色属性请结合查看  http://www.cnblogs.com/LOVEJIEYING/p/6016319.html

 

posted on 2016-11-03 10:22 "茶树" 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/LOVEJIEYING/p/6025563.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30482181/article/details/95066287

智能推荐

DockerCompose 构建dubbo-admin服务_docker-compose 设置dubbo-程序员宅基地

文章浏览阅读553次。准备环境准备好docker 和docker-compose安装gityum install git安装mavenyum install maven配置环境变量vi /etc/profile# set Maven environmentexport MAVEN_HOME=/usr/local/maven/apache-maven-3.5.2export PATH=$MAVEN_H..._docker-compose 设置dubbo

OPCServer:使用KEPServer_kepserver一个或多个功能有时间限制-程序员宅基地

文章浏览阅读1.3w次。实际OPCServer使用(450M,中文,破解时间限制):KEPServer V6,百度网盘,密码: ykj2以下为截图官网下载KEPServerEX注册才能下载软件免费,驱动收费,,每天2小时试用时间版本:KEPServerEX-6.6.350.0,大小484M国内下载慢,FQ下载很快安装过程基本上都是默认下一步选择中文..._kepserver一个或多个功能有时间限制

使用jstack定位程序许久没有反应死锁问题_jstack 没有检测到死锁-程序员宅基地

文章浏览阅读713次。引言这个情况现象的程序运行的时候迟迟没有输出,我们可以怀疑的死锁的问题,但是怎么去定位这个问题呢,我们还是借助jstack来做。jstack 163746这个查看没有太复杂的流程,直接查看堆栈信息最后的一部分就okFound one Java-level deadlock:============================="Thread_02": waiting to l..._jstack 没有检测到死锁

新媒体运营矩阵怎么做_新媒体矩阵运营方案-程序员宅基地

文章浏览阅读2.4k次。  新媒体矩阵是针对用户的附加需要提供更多的服务的多元化媒体渠道运营,以增加自身影响力,获取更多的粉丝,粉丝导流到某一新媒体,以实现最终变现这一最终目的运营方式。但是新媒体矩阵不是说微信多申请几个帐号就叫矩阵了,而是多平台结合运营,然后根据平台的定位以及群体属性,有针对性的进行运营。所以问题又来了,新媒体运营矩阵怎么做呢?    首先思考一下新媒体矩阵能否为用户带来实际价值,提供优惠或者其他增值服务;能否为企业塑造企业形象,提高影响力,建立品牌调性;能否为产品带来 营销价值,提高用户的心理._新媒体矩阵运营方案

ping不通虚拟机,但是虚拟机可以ping通宿主机和百度_kaliping不到virtualbox的原因,但能ping到百度-程序员宅基地

文章浏览阅读1.1k次。记录一下用xshell连接本地的虚拟机ubuntu,虚拟机可以连接外网,可以ping同宿主机,但是宿主机ping不同虚拟机我遇到的问题是网卡设置首先打开vmware的编辑-虚拟网络适配器,选择NAT模式,这里的子网ip就是你的虚拟机所用的ip地址然后到你的电脑上找到网络和共享中心,选择vmnet8点击属性,双击ipv4里面的IP地址要设置和VMware中的一样就可以了,修改这个和V..._kaliping不到virtualbox的原因,但能ping到百度

Python知识-3月开源项目_stanza 可视化-程序员宅基地

文章浏览阅读138次。1manimhttps://github.com/3b1b/manim Star 19308数学图形可视化引擎,目前主要用于制作数学演示动画,Manim在Python 3.7上运行。2HanLPhttps://github.com/hankcs/HanLP Star 18651HanLP是面向生产环境的多语种自然语言处理工具包,基于TensorFlow 2.0,目标是普及落地最前沿的NL..._stanza 可视化

随便推点

Spark-Sql快速入门系列(5) | Hive数据库_df.write-程序员宅基地

文章浏览阅读450次。目录一.hive和spark sql的集成方式(面试可能会问到)二.spark_shell和spark_sql操作spark_shellspark_sql使用hiveserver2 + beeline三.脚本使用spark-sql四.idea中读写Hive数据1.从hive中读数据2.从hive中写数据使用hive的insert语句去写使用df.write.saveAsTable("表名")(常用)使用df.write.insertInto("表名")saveAsTable和insertInto的原理一._df.write

[CISCN 2019 初赛]Love Math(RCE+数学函数白名单+符号黑名单)_lovemath is_nan rce-程序员宅基地

文章浏览阅读1.5k次。源码如下:<?phperror_reporting(0);//听说你很喜欢数学,不知道你是否爱它胜过爱flagif(!isset($_GET['c'])){ show_source(__FILE__);}else{ //例子 c=20-1 $content = $_GET['c']; if (strlen($content) >= 80) { die("太长了不会算"); } $blacklist = [' ', '\t'_lovemath is_nan rce

基于java的人事管理系统(源码+免费+可定制)_hr办公系统源码-程序员宅基地

文章浏览阅读227次。该系统致力于提供全面的人事管理解决方案,包括绩效考核、招聘管理、档案管理、工资管理、考勤管理、培训管理和系统管理等七大模块。系统的最大特色在于强大的权限控制功能,将用户分为管理员、财务专员、人事专员和普通用户等四个角色,确保不同角色的用户拥有适当的系统访问权限。前端采用HTML、CSS、JavaScript技术,后端使用Java语言、Spring框架、MySQL数据库,保障了系统界面的友好性和多种数据操作的高效性。通过本次设计,我们不仅成功实现了系统的基本功能,还提高了团队成员的编程和团队协作能力。未来,我_hr办公系统源码

anaconda 通过pip 安装python psycopg2_anaconda psycopg-程序员宅基地

文章浏览阅读4.2k次。1. 【不能在cmd里install】之前一直在 cmd 里conda install psycopg2 ,pip install psycopg2,虽然提示安装成功,但是import时还是会报错提示包不存在。2. 【在prompt里pip】正确的安装方法是,安装完成 anaconda,进入anaconda prompt,输入命令即可pip install psycopg23._anaconda psycopg

【可用Claude Opus模型】Claude3国内镜像站,亲测完全超越GPT-4(可用Claude Opus,官网价值20刀)_gpt4镜像-程序员宅基地

文章浏览阅读868次。从去年GPT大火到现在,关于GPT的消息铺天盖地,真要有心想要去用,途径很多,别的不说,国内GPT的镜像站到处都是,3.5的免费站也很多,只是有的需要关注,有的提供了打赏的方式。后来GPT-4卷崩了3.5,但最近,Claude 3完全完全的吊打了GPT-4(文末有截图)。#今天在知乎看到一个问题:“平民不参与内测的话没有账号还有机会使用Claude 3吗?希望各AI公司都卷起来,卷出性价比。_gpt4镜像

斐波那契数列的算法分析-程序员宅基地

文章浏览阅读436次。  版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址  http://www.cnblogs.com/Colin-Cai/p/9717119.html   作者:窗户  QQ/微信:6679072  E-mail:[email protected] 看过我其他一些文章的人,可能想象不出我会写一篇关于斐波..._采用字典法计算斐波那契数列01123的10000项

推荐文章

热门文章

相关标签