Androidbuttonshape形状资源码实现

1、项目Src下创建drawable

看文档Develop/API Guides/App Resources/Drawable/Shape Drawable

单词:corners : 角  ;  gradient :梯度; solid:固定的。 stroke: 边框--能够做下划线

Rectangle : 矩形;dash :破折号 gap:间隙。

2、拷贝实例代码,文件命名(gradient_box.xml,以下是模版)

<?

xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="5dip"/>

    <gradient android:startColor="#ff0000"
        android:endColor="#00ff0000"/>

    <solid android:color="#ffffff" />

    <stroke android:width="3dip" android:color="#000000" android:dashGap="5dip"
        android:dashWidth="5dip"/>

</shape>

3、默认状态function_greenbutton_normal.xml

<?xml version="1.0" encoding="utf-8"?

>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="5dip"/>

    <solid android:color="#ffffff" />

</shape>

4、按下去状态状态function_greenbutton_pressed.xml

<?

xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="5dip"/>

    <solid android:color="#22000000" />

</shape>

5、把两个状态整合在shape_bg.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="@drawable/function_greenbutton_pressed" /> <!-- pressed -->

    <item android:state_focused="true"
          android:drawable="@drawable/function_greenbutton_pressed" /> <!-- focused -->

    <item android:drawable="@drawable/function_greenbutton_normal" /> <!-- default -->
</selector>

6、并使用

在Button框下android:background="@drawable/shape_bg"来调用。

时间: 2024-10-12 15:24:28

Androidbuttonshape形状资源码实现的相关文章

Android按钮shape形状资源代码实现

1.项目Src下创建drawable 看文档Develop/API Guides/App Resources/Drawable/Shape Drawable 单词:corners : 角  ;  gradient :梯度: solid:固定的: stroke: 边框--可以做下划线 Rectangle : 矩形:dash :破折号 gap:间隙: 2.拷贝实例代码,文件命名(gradient_box.xml,下面是模版) <?xml version="1.0" encoding=

cocos2dx加密解密资源

先加密游戏资源然后 改cocos2dx底层代码,在读取的时候进行解密 1 unsigned char* CCFileUtils::getFileData(const char* pszFileName, const char* pszMode, unsigned long * pSize) 2 { 3 unsigned char * pBuffer = NULL; 4 CCAssert(pszFileName != NULL && pSize != NULL && pszM

Silverlight动态载入调用XAML资源

以多语言为例子: ResourceDictionary resourceDictionary = new ResourceDictionary(); //新建资源集合 var culture = CultureInfo.CurrentCulture;//获取本地Culture if (culture.Name != "zh-CN") { Application.LoadComponent(resourceDictionary, new Uri("/ETiger_MarketT

50个国内外最棒的C/C++源码站点分享

C/C++是最基本的编程语言.这里列出了50名优秀站点和网页清单,这些站点提供c/c++源码.这份清单提供了源码的链接以及它们的小说明.我已 尽力包含最佳的C/C++源码的站点.这不是一个完整的清单,您有建议能够联系我,我将欢迎您的建议,以进一步加强这方面的清单.1. http://snippets.dzone.com/tag/c/ --数以千计的实用的C语言源码片段2. http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hot

为什么使用LUT比GAL 节省资源

为什么使用LUT比GAL 节省资源 A[1:0]    B[1:0]     实现一个比较器,如果A=B输出1 否则输出0 传统的GAL 需要 24= 16个存储单元(ROM)来存储结果数据,实现方法是 缓冲器(正负)+译码器 + 或门 A[7:0]   B[7:0]  实现相同的功能,则需要216=65536个存储单元来存储数据,实现方法是一样的.这样需要大量的硬件资源 如果采用LUT ,A[7:0]   B[7:0]  实现相同的功能.首先进行分割A[7:6] 和B[7:6], A[5:4]

VC 绘图技巧--自定义形状图形

自定义形状图形,定义几个点围城的图形,然后进行描边和填充: [cpp] view plaincopy if (m_memDC.m_hDC!=NULL) { CPoint point[4]; point[0].x=nLeft+(int)(0.1*m_nWidth); point[0].y=m_nYmargin; point[1].x=nLeft+(int)(0.9*m_nWidth); point[1].y=m_nYmargin; point[2].x=nLeft+(int)(0.7*m_nWid

WPS客户端更新日志留着备用

WPS Office (10.1.0.7520)==========================================新增功能列表------------WPS文字1 拼写检查:新增“中文拼写检查”功能 WPS公共1 实时预览:支持字体和字号实时预览2 发送至手机:云服务选项卡下,新增“发送至手机”入口,方便PC和移动设备间互传文件 功能优化列表------------WPS文字1 隐藏页间空白:单击显示/隐藏页间空白,改成双击显示/隐藏页间空白,减少用户误操作的可能 WPS表格1

别样JAVA学习(六)继承下(2.3)异常下

1.RuntimeException Exception中有一个特殊的子类异常RuntimeException执行时异常. 假设在函数内容抛出该异常,函数上能够不用声明.编译一样通过. 假设在函数上声明了该异常,调用者能够不用进行处理.编译一样通过. 之所以不用在函数上声明,是由于不须要让调用者处理. 当该异常发生,希望程序停止. 由于在执行时,出现了无法继续运算的情况, 希望停止程序后.对代码进行修正. 例: class Person { public void checkName(Strin

JAVA-day08 下午-总结、測试

继承总结: class { public static void main(String[] args) { System.out.println("Hello World!"); } } class Fu { private int num = 9; public void show1(){} public void setNum(int num) { this.num = num; } Fu(){} } class Zi extends Fu { //int num = 4; vo