- 6
- 0
- 约2.31千字
- 约 3页
- 2021-03-03 发布于天津
- 举报
Android 键钮自定义样式
现在的用户对APP的外观看得很重要,如果 APP内所有元件都用 An droid默认样式 写,估计下面评论里就有一堆在骂 UI丑的。今天学习自定义 Button按钮样式。Button 样式修改的是 Button 的背景 (Background) 属性。
首先写一个定义 Button样式的XML文件:
新建An droid XML文件,类型选Drawable,根结点选selector, 文件名就buton_style
吧。
程序自动给我们刚刚建的文件里加了 selector 结点,我们只需要在 selector 结点 里写上三种状态时显示的背景图片(按下、获取焦点,正常)。
代码如下:
Xml 代码
?xml version=1.0 encoding=utf-8?
selector xmlns:android= /apk/res/android
item android:state_pressed=true
android:drawable=@drawable/play_press /
item android:state_focused=true
android:drawable=@drawable/play_press /
item android:drawable=@drawable/play /
/selector
我这里获取焦点跟点击时显示的是同一张图片, 必须严格照上面的顺序写, 不可倒。 接下来只要在布局时写 Button 控件时应用到 Button 的 Background 属性即可。
Xml 代码
Button android:id=@+id/button1
android:layout_width=wrap_content
android:layout_height=wrap_content android:background=@drawable/button_style
/Button
最终效果图: 再加上一种自定义样式方法,上面的是用图片,其实我们可以直接通过定义 xml 文 件来实现不同的样式 : 在上面的源代码基础上,只需要修改 button_style 文件 , 同样三种状态分开定义: Xml 代码
?xml version=1.0 encoding=utf-8?
selector xmlns:android= /apk/res/android item android:state_pressed=true
shape
gradient android:startColor=#0d76e1 android:endColor=#0d76e1
android:angle=270 /
stroke android:width=1dip android:color=#f403c9 /
corners android:radius=2dp /
padding android:left=10dp android:top=10dp
android:right=10dp android:bottom=10dp /
/shape
/item
item android:state_focused=true
shape
gradient android:startColor=#ffc2b7 android:endColor=#ffc2b7
android:angle=270 /
stroke android:width=1dip android:color=#f403c9 /
corners android:radius=2dp /
padding android:left=10dp android:top=10dp
android:right=10dp android:bottom=10dp /
/shape
/item
item
shape
gradient android:startColor=#000000 android:endColor=#ffffff
android:angle=180 /
stroke android:width=1dip android:color=#f403c9 /
corners android:radius=5dip /
padding android:left=10dp android:top=10dp
android:right=10dp android:bottom=10dp /
/shape
/item
/selector
gradient 主体渐变 startColor 开始颜色, endColor 结束颜色 , angle 开始渐变 的角度(值只能为 90 的倍数, 0 时为左到右渐变, 90 时为下到上渐变,依次逆时针
您可能关注的文档
- 40岁男子,查出肝癌,医生提醒:鸡身上的一个地方少吃.docx
- 448汉语写作与百科知识考试大纲-2017版.docx
- 41有子女有财产无债务——离婚协议书范本模版.docx
- 43句鸡汤,犀利,我干了,你随意.docx
- 42.5c30砼配合比计算书.docx
- 42.5c50砼配合比计算书.docx
- 4、《古诗三首》课后练习.docx
- 4s店信息反馈流程.docx
- 4、护理部护理质量控制员岗位说明书.docx
- 4、说说我们的学校一课一练.docx
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)