android键钮自定义样式.docxVIP

  • 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 时为下到上渐变,依次逆时针

文档评论(0)

1亿VIP精品文档

相关文档