用到Button,谁都会想到网页那里面各式各样的Button,那么你是否也想设计出那种效果呢?呵呵,答案是肯定的,android很强大。但是,今天刚迈出第一步就发现了一个头疼的问题。什么事都是从简到繁再到简的,就像Button的设计也一样。想设计出很多不同的很拉风的Button肯定第一步就是给Button设置背景,我也是这么做的,可是设置背景为颜色后Button变成了Textview一样,并且高度跟文字一样,这肯定不是我想要的结果啦,然后百度得到了结果:先说再贴链接。android Button 已经默认了有个实现,内部是通过State List(想知道,看官方文档,悄悄的告诉你们,这个篇章读完就可以设计自己的Button了哦,文档目录为Dev Guid------Drawable Resources)实现的,现在我们用android:drawable="@color/red" 把原来的样式给覆盖了,所以就出现了这种悲剧。解决方案:1.自己定义一个xml类型drawable资源,eg:
res/values/colors.xml----------------------------------
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#ff0000</color>
<color name="green">#00ff00</color>
<color name="blue">#0000ff</color>
</resources>
res/drawable/button.xml ---------------------------- ①
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@color/blue" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@color/red" /> <!-- focused -->
<item android:drawable="@color/green" /> <!-- default -->
</selector>
使用
<Button
android:id="@+id/show"
android:layout_width="fill_parent"
android:layout_height="40dip"
android:text="show"
android:background="@drawable/button"
/>
然后设定Button的height,就可以有自己的显示样式了。
第二种解决方案是把①处的drawable改成图片,那样也能有固定的高度了。
说了这些,应给大家一个参考了:http://blog.csdn.net/zhanghw0917/article/details/5630538
做完上述操作,你就觉得满足了吗?这不应当是我们的终点,而是起点。
现在,就可以实现一些复杂的Button了,不多讲,我也是看的,就贴链接了:
http://blog.csdn.net/xjanker2/article/details/6222690