关于Android开发中Shape的总结

今天修改Android的界面布局修改了正在一天,各种控件的样式和标准都有一定的规范。对于样式的设计我也是研究了一天,为了防止遗忘,特在此记录一下:

在Android开发中,为响应美化应用中控件的效果,使用Shape定义图形效果,可以解决图片过多的问题。

 1 <!-- 圆角 -->
 2     <corners
 3         android:radius="9dp"<!-- 设置四个角半径的值 -->
 4         android:topLeftRadius="2dp"<!-- 设置左上角半径的值 -->
 5         android:topRightRadius="2dp"<!-- 设置右上角半径的值 -->
 6         android:bottomLeftRadius="2dp"<!-- 设置右下角半径的值 -->
 7         android:bottomRightRadius="2dp"/><!-- 设置左下角半径的值 -->
 8     
 9 <!-- 渐变 -->
10     <gradient
11         android:startColor="@android:color/white"<!-- 渐变起始颜色 -->
12         android:centerColor="@android:color/black"<!-- 渐变中间颜色 -->
13         android:endColor="@android:color/black"<!-- 渐变结束颜色 -->
14         android:useLevel="true"<!-- 如果要使用LevelListDrawable对象,就要设置为true。设置true无渐变色,false有渐变色 -->
15         android:angle="45"<!-- 渐变的角度,angle=0时,渐变色是从左向右,然后逆时针方向转;当angle=90时,渐变色从上往下。angle必然是45的倍数 -->
16         android:type="radial"<!-- 渐变类型:linear(线性)、radial(放射性,以开始色为中心)、sweep(扫描线式渐变) -->
17         android:centerX="0"<!-- 渐变中心X点坐标的相对位置 -->
18         android:centerY="0"<!-- 渐变中心Y点坐标的相对位置 -->
19         android:gradientRadius="90"/><!-- 渐变半径,只有设置type为radial时,此值才生效 -->
20     
21     <!-- 间隔 -->
22     <padding
23         android:left="2dp"<!-- 左内边距 -->
24         android:top="2dp"<!-- 上内边距 -->
25         android:right="2dp"<!-- 右内边距 -->
26         android:bottom="2dp"/><!-- 下内边距 -->
27     
28     <!-- 大小 -->
29     <size
30         android:width="50dp"<!-- 宽度 -->
31         android:height="50dp"/><!-- 高度 -->
32     
33     <!-- 填充 -->
34     <solid
35         android:color="@android:color/white"/><!-- 填充的颜色 -->
36     
37     <!-- 描边 -->
38     <stroke
39         android:width="2dp" <!-- 描边宽度 -->
40         android:color="@android:color/black"<!-- 描边颜色 -->
41         android:dashWidth="1dp"<!-- 描边样式为虚线时的宽度,值为0时为实线,值大于0时为虚线 -->
42         android:dashGap="2dp"/><!-- 描边为虚线时,虚线之间的间隔 -->

Shape的使用基本步骤就两步:

第一步:在res/drawable文件夹下创建一个名为view_yuan_morelist.xml的xml文件:

代码如下:

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

第二步:就是在控件中调用:

如下:

1 <Button
2         android:id="@+id/btninsert"
3         android:layout_width="match_parent"
4         android:layout_height="40dp"
5         android:layout_margin="5dp"
6         android:background="@drawable/btn_retangle"
7         android:textColor="@color/white"
8         android:text="添加留言" />

产生的效果如图所示:

原文地址:https://www.cnblogs.com/laidandan/p/4722524.html