shape图形的使用
在项目中如果用到有规律的常规的图形,在能够掌握的前提下建议使用shape图形,shape图形相对与图片来说,占用资源更小,并且使用起来不会失真。
效果图
- shape图形1
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 主体颜色 填充颜色 -->
<solid android:color="#FF00FFFF" />
<!-- 圆角 -->
<corners
android:bottomLeftRadius="15dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="15dp"
android:topRightRadius="0dp" />
</shape>
- shape图形2
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 主体颜色 填充颜色 -->
<solid android:color="#33000000" />
<!-- 圆角 -->
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="15dp"
android:topLeftRadius="0dp"
android:topRightRadius="15dp" />
</shape>
- shape图形3
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 渐变颜色 -->
<gradient
android:centerColor="#33000000"
android:endColor="#99000000"
android:startColor="#99000000" />
<!-- 圆角 -->
<corners
android:bottomLeftRadius="15dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="0dp"
android:topRightRadius="15dp" />
</shape>
- shape图形4
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 渐变颜色 -->
<solid android:color="#FFFF00FF" />
<!-- 圆角 -->
<corners android:radius="10dp" />
</shape>
- shape图形5
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 渐变颜色 -->
<solid android:color="#FFFF00FF" />
<!-- 圆角 -->
<corners android:radius="10dp" />
<stroke
android:width="5dp"
android:color="#FF000000"
android:dashGap="3dp"
android:dashWidth="2dp" />
</shape>
使用
-
文件存放位置
用法
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape"
android:padding="20dp"
android:text="shape图形1"
android:textSize="20sp" />
Shape图形可以当作是一张图片来使用,和设置背景是一样的用法。
属性介绍
-
solid
实心,主体
android:color指定填充的颜色
-
gradient
渐变
android:startColor 设置起始颜色
android:centerColor 设置中间颜色
android:endColor 设置结束颜色
-
stroke
描边
android:width 描边的宽度
android:color 描边的颜色
android:dashWidth 横线的宽度
android:dashGap 表示之间隔开的距离。
-
corners
圆角
android:radius 四个角的弧度
android:topRightRadius 右上角弧度
android:bottomLeftRadius 左下角弧度
android:topLeftRadius 左上角弧度
android:bottomRightRadius 右下角弧度
-
padding
间隔
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"