
启动你的大宝贝AndroidStudio,创建新工程
一、新建工程File---->new---->new Project---->Empty Activity
工程创建好后
1.打开activity_main.xml,把这些内容都删除掉,自己写一个布局。实例代码如下
2.写出一个Button.... .... ....
二、了解Button属性 StateListDrawable
StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点< selector >,我们只需要将Button的background属性设置为该drawable资源即可轻松实现,按下按钮时不同的按钮颜色或背景
1.drawable:引用Drawable位图
2.state_focused:是否获得焦点
3.state_pressed:控件是否被按下
4.state_enabled:控件是否可用
5. state_selected:控件是否被选择,针对有滚轮的情况6. state_checked:控件是否被勾选
7. state_checkable:控件可否被勾选,eg:checkbox8. state_window_focused:是否获得窗口焦点
9. state_active:控件是否处于活动状态,eg:slidingTab
10.state_single:控件包含多个子控件时,确定是否只显示一个子控件
11.state_first:控件包含多个子控件时,确定第一个子控件是否处于显示状态
12.state_middle:控件包含多个子控件时,确定中间一个子控件是否处于显示状态
13.state_last:控件包含多个子控件时,确定最后一个子控件是否处于显示状态
1.新建selector文件,给Button选择logo文件,暂且叫做logo好了。
导入两张自己喜欢的logo作为Button的logo
然后:
选中res---->new---->Drawable resource file
Resource Type选择为Drawable才会有Root element出现 Root element对应的是selector
同时生成的btn_selector文件也会在res---->Drawable目录下生成
2.新建color文件,按下Button时logo颜色发生变化
为了改变logo自带的默认的颜色,让按钮按下去和d回来有一个颜色的变化,提升趣味性,我们新建一个btn_color_selector.xml的文件,设置state为pressed时的颜色为红色和普通状态下的绿色。
在有些版本的AndroidStudio中是
选中res---->directory---->自己命名为:color,在color下新建Color resource file
我的是
Android Studio 3.5.2
Build #AI-191.8026.42.35.5977832, built on October 31, 2019
JRE: 1.8.0_202-release-1483-b03 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
在res下新建Android Resource File
在btn_color_selector.xml中
回到activity_main.xml中将backgroundTint改为@color/btn_color_selector
button可以设置前景色,和设置背景色的原理是一样的,不过会把字体给覆盖,一般不设置
三、演示效果欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)