1、项目Src下创建drawable

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

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

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

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

  1. <?
  2.  
  3. xml version="1.0" encoding="utf-8"?>
  4. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  5. android:shape="rectangle">
  6. <corners android:radius="5dip"/>
  7.  
  8. <gradient android:startColor="#ff0000"
  9. android:endColor="#00ff0000"/>
  10.  
  11. <solid android:color="#ffffff" />
  12.  
  13. <stroke android:width="3dip" android:color="#000000" android:dashGap="5dip"
  14. android:dashWidth="5dip"/>
  15.  
  16. </shape>

3、默认状态function_greenbutton_normal.xml

  1. <?xml version="1.0" encoding="utf-8"?
  2.  
  3. >
  4. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  5. android:shape="rectangle">
  6. <corners android:radius="5dip"/>
  7.  
  8. <solid android:color="#ffffff" />
  9.  
  10. </shape>

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

  1. <?
  2.  
  3. xml version="1.0" encoding="utf-8"?>
  4. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  5. android:shape="rectangle">
  6. <corners android:radius="5dip"/>
  7.  
  8. <solid android:color="#22000000" />
  9.  
  10. </shape>

5、把两个状态整合在shape_bg.xml

  1. <?
  2.  
  3. xml version="1.0" encoding="utf-8"?>
  4. <selector xmlns:android="http://schemas.android.com/apk/res/android">
  5. <item android:state_pressed="true"
  6. android:drawable="@drawable/function_greenbutton_pressed" /> <!-- pressed -->
  7.  
  8. <item android:state_focused="true"
  9. android:drawable="@drawable/function_greenbutton_pressed" /> <!-- focused -->
  10.  
  11. <item android:drawable="@drawable/function_greenbutton_normal" /> <!-- default -->
  12. </selector>

6、并使用

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

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

  1. 股票配资源码系统APP股票配资系统PC版配资系统

    股票配资策略系统一套,pc+wap双端,封装app! 需要服务器环境: LNMP/LAMP ,域名,短信服务,IOS端APP需要企业签名发布,或者有金融行业资质到APPstore发布 产品介绍: 全套 ...

  2. 淘宝首页源码藏美女彩蛋(上)(UED新作2013egg)

    今日,偶尔翻看淘宝源码,发现竟有美女形状源码.如下图: 此段代码在console中运行,结果更为惊叹. 亲手尝试的读者已经看到了代码运行的结果.taobao.com的console打印出了UED的招聘 ...

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

    C/C++是最基本的编程语言.这里列出了50名优秀站点和网页清单,这些站点提供c/c++源码.这份清单提供了源码的链接以及它们的小说明.我已 尽力包含最佳的C/C++源码的站点.这不是一个完整的清单, ...

  4. Android <Android应用开发实战> 资源类型<一>

    1.字符串资源>>1.普通字符串>>2.字符串数组 <resources> <string-array name="planets_array&qu ...

  5. C++开源码项目汇总

    Google的C++开源码项目 v8  -  V8 JavaScript Engine V8 是 Google 的开源 JavaScript 引擎. V8 採用 C++ 编写,可在谷歌浏览器(来自 G ...

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

    WPS Office (10.1.0.7520)==========================================新增功能列表------------WPS文字1 拼写检查:新增“中 ...

  7. WIN32汇编语言中位图的使用

    说到位图.我们事实上非常早就接触过.从最早接触计算机,我们应该就知道有图片这个东西,然后再进一步说,图片在电脑上有好几种格式比方jpg. gif .png.pcx.bmp等等,当中bmp格式的图片文件 ...

  8. 最全华为鸿蒙 HarmonyOS 开发资料汇总

    开发 本示例基于 OpenHarmony 下的 JavaScript UI 框架,进行项目目录解读,JS FA.常用和自定义组件.用户交互.JS 动画的实现,通过本示例可以基本了解和学习到 JavaS ...

  9. Android 常用代码大集合 [转]

    [Android]调用字符串资源的几种方法   字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...

随机推荐

  1. vuex相关的知识

    vue的核心是store,它可以看作是一个容器,它包含着应用中的状态state(state,mutations,actions,getters, modules).它中的存储是响应式的,当store中 ...

  2. scrapy 的分页爬取 CrawlSpider

    1.创建scrapy工程:scrapy startproject projectName 2.创建爬虫文件:scrapy genspider -t crawl spiderName www.xxx.c ...

  3. Linux 的 Spinlock 在 MIPS 多核处理器中的设计与实现

    引言 随着科技的发展,尤其是在嵌入式领域,高性能.低功耗的处理器成为众多厂商追逐的目标,但是由于技术和工艺的瓶颈,试图在单核处理器上达到这样的目标变得越发困难,于是人们提出了多核处理器的概念.多核处理 ...

  4. 面试之Spring

    一.IoC IoC(Inversion of Control):控制反转(是把传统上由程序代码直接操控的对象的生成交给了容器来实现, 通过容器来实现对象组件的装配和管理.所谓"控制反转&qu ...

  5. codevs1288 埃及分数

    题目描述: 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数. 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的. 对于一个分数a/b,表示方法 ...

  6. 零基础入门学习Python(18)--函数:灵活即强大

    前言 上一节课我们基本介绍Python函数的用法,这一节课我们主要针对函数的参数进行进一步的深入学习. 知识点 形参(parameter)和实参(argument) >>> def ...

  7. python书籍推荐:Python数据科学手册

    所属网站分类: 资源下载 > python电子书 作者:today 链接:http://www.pythonheidong.com/blog/article/448/ 来源:python黑洞网 ...

  8. Android : reletive layout

    在兄弟的上下左右: android:layout_toRightOf="@id/btn1"/> android:layout_toLeftOf="@id/img1& ...

  9. DRF JWT的用法 & Django的自定义认证类 & DRF 缓存

    JWT 相关信息可参考: https://www.jianshu.com/p/576dbf44b2ae DRF JWT 的使用方法: 1. 安装 DRF JWT # pip install djang ...

  10. 【NOIP2017练习】跳跃切除子序列(模拟)

    题意: 思路: 已放弃 #include <bits/stdc++.h> typedef long long LL; int main(){ int T; scanf("%d&q ...