在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状。

首先我们了解一下Shape下面有哪些标签,都代表什么意思:

solid:填充
android:color指定填充的颜色

gradient:渐变
android:startColor和android:endColor分别为起始和结束颜色,

android:angle是渐变角度,必须为45的整数倍。
另外渐变默认的模式为android:type="linear",即线性渐变,

可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。

angle值对应的位置如图:

stroke:描边
android:width="2dp" 描边的宽度,android:color 描边的颜色。
我们还可以把描边弄成虚线的形式,设置方式为:
android:dashWidth="5dp"
android:dashGap="3dp"
其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离

corners:圆角
android:radius为角的弧度,值越大角越圆。
我们还可以把四个角设定成不同的角度,

同时设置五个属性,则Radius属性无效

android:Radius="20dp" 设置四个角的半径

android:topLeftRadius="20dp" 设置左上角的半径
android:topRightRadius="20dp" 设置右上角的半径
android:bottomLeftRadius="20dp" 设置右下角的半径
android:bottomRightRadius="20dp" 设置左下角的半径

padding:间隔
可以设置上下左右四个方向的间隔

在这里我们来看一个简单的小例子,ShapDemo,在drawable文件夹下面先定义两个xml文件:

button_bg.xml的内容如下:

<?xml version="1.0" encoding="utf-8"?>    button_pressed_bg.xml的内容如下:<?xml version="1.0" encoding="utf-8"?>

这里说明一点,在描边里面设置了dash参数,使得图形的边变成了虚线。

在drawable文件夹下添加一个selector选择器button.xml文件,内容如下:

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

normal(正常)情况下就显示button_bg,被press(按下)情况下就显示button_pressed_bg。

我们再来看一下layout目录下的activity_main.xml的内容:

直接将background指定为drawable文件夹下的button.xml。

程序运行截图如下:

————————————————

更多相关文章

  1. Android(安卓)TextView属性大全
  2. Android(安卓)ImageView图片显示点击背景切换
  3. Android一个textview显示多段文本不同颜色并可以响应点击事件
  4. Android(安卓)ImageView 总结【转载】
  5. Android下获取Root权限和设置目录属性
  6. android 窗口式activity
  7. Android中shape使用
  8. android EditText TextView的属性整理 最后还有跑马灯的实现
  9. 安卓学习(初)第三章(3)(《第一行代码》)

随机推荐

  1. Android实战——Mp3播放器
  2. Android(安卓)ART Hook 实现 - SandHook
  3. Android(安卓)Intent学习笔记
  4. Android中String资源文件的String.format
  5. Android Handler 消息机制
  6. 【Android 性能优化】应用启动优化 ( 安
  7. 史上最详细的Android系统SystemUI 启动过
  8. Kotlin 概览——如何看待 Google 将 Kotl
  9. [Android] [ Android启动流程 ] [ 下 ] [
  10. android之组件2