Android学习笔记2——shape
Android有很多特别的xml文件,如常用的selector、style以及shape,熟练使用这些xml可以是我们的项目变得更个性化。
一、子标签(corners、gradient、padding、size、solid、stroke)
1、padding和size
这两个可以选择不用,因为它们的作用分别是设置控件内边距和尺寸的,作用和布局文件内的android:padding和android:layout_width相同。
padding的用法

size的用法

2、corners的用法
corners是设置控件圆角属性的,通过此子标签可以为控件设置圆形边角(如圆角矩形)。常用于一些按钮的自定义。

效果图


3、stroke的用法
stroke是为控件设置描边的,可以设置颜色和虚实线。


4、gradient和solid
gradient和solid是为控件设置填充颜色的,solid只有一条属性即android:color,单独使用solid的作用和布局文件中的android:background设置颜色作用相同。下面着重介绍gradient的用法。
gradient虽然也是为控件填充颜色,但是它更多的作用是为控件填充渐变颜色。
首先先来看gradient的所有属性说明

其中所有属性并不是每次都需要全部设置,按三种渐变类型进行自定义设置,下面展示三种不同渐变类型的效果。



二、Shape的属性
上面我们讲了Shape的子标签的的作用,但Shape本身还没讲,Shape自已是可以定义当前Shape的形状的,Shape可以画四种图形,分别是:矩形(rectangle)、椭圆(oval)、线(line)、圆环(ring)。
下面分别展示四种图形效果及其代码。






线形没有高度,所以无论控件设置多少高度,永远只显示一条线;颜色也无法设置,宽度可以根据控件宽度进行显示。


Android学习笔记2——shape的更多相关文章
- 【转】Pro Android学习笔记(三):了解Android资源(上)
在Android开发中,资源包括文件或者值,它们和执行应用捆绑,无需在源代码中写死,因此我们可以改变或替换他们,而无需对应用重新编译. 了解资源构成 参考阅读Android学习笔记(三八):资源res ...
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
- Android学习笔记进阶之在图片上涂鸦(能清屏)
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...
- android学习笔记36——使用原始XML文件
XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...
- Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
- udacity android 学习笔记: lesson 4 part b
udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
- Android学习笔记之Activity详解
1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...
- Pro Android学习笔记 ActionBar(1):Home图标区
Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...
随机推荐
- 解决VC6下调不出MSDN的问题!
原文:http://www.programfan.com/blog/article.asp?id=1524http://blog.programfan.com/trackback.asp?id=15 ...
- win7 vs2012+wdk8.0 搭建wdf驱动开发环境
开发环境搭建:系统:win7 x64工具:vs2012 + WDK8.0插件:wdfcoinstaller.msi(1)先安装vs2012,再安装wdk8.0,这样在打开vs2012时可以创建wind ...
- VC获取并修改计算机屏幕分辨率
//获取分辨率 int m_nWindwMetricsX = ::GetSystemMetrics(SM_CXSCREEN); int m_nWindwMetricsY = : ...
- Error Code: 1360 - Trigger does not existQuery
1.错误描述 Query: DROP TRIGGER `t_sert_cs_approve` Error occured at:2015-04-12 13:37:32 Line no.:1 Error ...
- 将泛类型集合List类转换成DataTable
/// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...
- Java和Flex整合报错(二)
1.错误原因 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...
- python爬虫--爬取某网站电影信息并写入mysql数据库
书接上文,前文最后提到将爬取的电影信息写入数据库,以方便查看,今天就具体实现. 首先还是上代码: # -*- coding:utf-8 -*- import requests import re im ...
- Windows gsl runtime error的解决方案
经过两天多的奋战,终于把GLAD源码集成进来了. 在编译.链接都正确,程序开始跑之后,又出了一个让人很无奈的runtime error, 就在 /* Initialize minimizer */ T ...
- java中outputStream与inputStream的相互转换
package com.boco.test; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; im ...
- 动态链接库(DLL)
DLL 的类型 当您在应用程序中加载 DLL 时,可以使用两种链接方法来调用导出的 DLL 函数.这两种链接方法是加载时动态链接和运行时动态链接. 加载时动态链接 在加载时动态链接中,应用程序像调用本 ...