java有没有自定义好的按钮_自定义Button样式

(注:以前不知道这一点,还闹个笑话,在Timers4Me中自定义TimePicker控件的时候,下载了相应的源码和资源,看到它的图片,我还很纳闷,为什么最后多了个.9,并且图片还有几条黑线几个点,还特意让美工对图片做了处理,将多余的部分去掉。)

本例中,用到以下图片:

* 按钮可以点击,但处于没有点击状态下的黑色XX.9格式背景图片

194227210.png

* 按钮可以点击,被点击下的状态的橙色的XX.9格式背景图片

195256371.png

* 按钮不可用状态下的XX.9格式的背景图片

195401799.png

上面的三张图片,需要放到项目中/res/drawables高中低密度中任何一个文件夹下

2.下面我们需要定义按钮处于不同状态下的样式:在/res/drawables/目录下高中低任何一个文件夹下,新建xml文件,名字可以自己取,这里我命名为custom_button.xml,在不同的状态下会引用相应的图片:



android:drawable="@drawable/btn_background_orange"/>

android:drawable="@drawable/btn_background_orange"/>

这里定义还是要按照规定的顺序来的,如果把最后一项放到第一条,那么只要按钮可用状态下,第一条条件成立,下面的就不会执行了。

3.另外还需要在/res/values/中新建一个xml文件,名称为styles.xml,这里定义了按钮的文本样式及不同状态下的样式:

center_vertical|center_horizontal

#FFFFFFFF

#FF000000

0

-1

0.2

16sp

bold

@drawable/custom_button

true

true

4.这里使用了theme,这种定义可以是程序中所有的按钮都是这样的外观,当然了,在实际项目中,不大可能会有这样的需求,只是体会这样使用方式而已,在/res/values/目录中新建xml文件,命名为themes.xml文件:

@style/CustomButton

5.对主题的定义,需要在AndroidManifest.xml的application节点中引用相应的主题,由于主题中规定了按钮的样式,因此所有的按钮都自然成了定义的外观。

package="com.mobileares.widget.custombutton"android:versionCode="1"

android:versionName="1.0">

android:theme="@style/CustomTheme">

程序运行起来的截图如下,你可以点击一下看看效果,实际上可以用ImageButton,引用android:src或者android:background="@style/CustomButton"来设置,附件中是源码,有不对的地方,欢迎拍砖指正。201915901.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值