先上图:(图中为两个按钮,可不是两个图片,嘿嘿)
第一个按钮为ImageButton,第二个按钮为Button。
imagebutton.xml代码
activity的代码如下所示:
其他的均为默认。运行便可以得到相应的结果。
-----------------------------------------------------------------
ImageButton继承自Button,其主要的特点就是上面显示的内容不再是文字,而是一张图片。
在布局文件中,我们可以通过android:src属性为其设置图片。而在代码中,我们则可以通过setBackgroundDrawable()/setBackgroundResource()/setBackgroundColor进行设置。
这里要注意,ImageButton是不支持在图片上面再放置一些文字的,如果想要实现这种功能,就应该跟我们的第二个按钮一样,用Button按钮来实现,通过设置android:text和android:background两个属性配合来实现。
-------------------------------------------------------------------------
Button进阶:
你是不是经常看到很多商业应用中,对于按钮,当获取焦点和失去焦点时显示的效果不一样呢?我们当然可以想象到,想要实现该种效果,我们只需要捕捉相应的事件然后再在代码中动态实现。但是,你不觉得这样很麻烦吗?那到底有没有一种更加方便的方式让我们实现这种应用呢?
有!
现在我们就来介绍下,这种方式:
在res/drawable/文件夹下新建一个xml文件,imagebutton2.xml,代码如下
然后再声明Button按钮的地方为其设置android:background="@drawable/imagebutton2"属性,然后我们就可以看到想要的结果了。
(这里的测试结果是,除了按下之外,其他的设置都不管用,代码是没有问题的,问题应该出在模拟器上,我没有android手机,所以不能实践了,读者自己试试吧)
这里粘贴网上的一个资源说明。关于selector的用法,我会在最近尽快给大家搞定的。
忽然间在ImageButton的api里看到了这么一段关于selector的介绍,这里粘贴出来给大家看看。从介绍我们可以看出,我们的用法是没有错误的,只是什么操作会触发什么事件并不明确罢了。