Android 自定义按钮形状

840427753

贡献于2013-05-21

字数:10405 关键词: Android开发 移动开发

Android中自定义按钮形状 在Android开发应用中,默认的Button是由系统渲染和管理大小的。而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的。因此,我们在开发产品的时候,需要对默认按钮进行美化。在本篇里,笔者结合在应用开发中的经验,探讨一下自定义背景的按钮、自定义形状按钮的实现方法。 首先看实现效果截图:   自定义背景的按钮目前有2种方式实现,矢量和位图。   1. 矢量图形绘制的方式 矢量图形绘制的方式实现简单,适合对于按钮形状和图案要求不高的场合。步骤如下: (a) 使用xml定义一个圆角矩形,外围轮廓线实线、内填充渐变色,xml代码如下。 view plain copy to clipboard print ? 01.//bg_alibuybutton_default.xml   02.    03.< layer-list   xmlns:android = "http://schemas.android.com/apk/res/android" >    04.    < item >    05.      < shape   android:shape = "rectangle" >     06.         < solid   android:color = "#FFEC7600"   />    07.         < corners    08.            android:topLeftRadius = "5dip"    09.            android:topRightRadius = "5dip"    10.            android:bottomLeftRadius = "5dip"    11.            android:bottomRightRadius = "5dip"   />    12.          13.       14.   < item   android:top = "1px"   android:bottom = "1px"   android:left = "1px"   android:right = "1px" >    15.     < shape >    16.        < gradient     17.            android:startColor = "#FFEC7600"   android:endColor = "#FFFED69E"     18.            android:type = "linear"   android:angle = "90"    19.            android:centerX = "0.5"   android:centerY = "0.5"   />    20.        < corners    21.            android:topLeftRadius = "5dip"    22.            android:topRightRadius = "5dip"    23.            android:bottomLeftRadius = "5dip"    24.            android:bottomRightRadius = "5dip"   />    25.          26.         27.    view plaincopy to clipboardprint? 01.//bg_alibuybutton_default.xml   02.  04.  06.     07.          08.           09.           14.        15.     16.     18.       19.           23.          28.        29.        30.  //bg_alibuybutton_default.xml                                                                   同样定义bg_alibuybutton_pressed.xml和 bg_alibuybutton_selected.xml,内容相同,就是渐变颜色不同,用于按钮按下后的背景变化效果。 (b) 定义按钮按下后的效果变化描述文件drawable/bg_alibuybutton.xml,代码如下。 view plain copy to clipboard print ? 01.    02.< selector   xmlns:android = "http://schemas.android.com/apk/res/android" >    03.    < item   android:state_pressed = "true"    04.        android:drawable = "@drawable/bg_alibuybutton_pressed"   />    05.    < item   android:state_focused = "true"    06.        android:drawable = "@drawable/bg_alibuybutton_selected"   />    07.    < item   android:drawable = "@drawable/bg_alibuybutton_default"   />    08.    view plaincopy to clipboardprint? 01.  03.  05.      07.      09.      10.        (c) 在你需要的界面定义文件中,如layout/main.xml中定义一个Button控件。 view plain copy to clipboard print ? 01.< Button    02.    android:layout_width = "120dip"    03.    android:layout_height = "40dip"    04.    android:text = "矢量背景按钮"         android:background = "@drawable/bg_alibuybutton"   />    view plaincopy to clipboardprint? 01.     02.       

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 4 金币 [ 分享文档获得金币 ]
0 人已下载

下载文档

相关文档