android shape的使用详解

原创 2016年05月30日 20:53:31

shape的属性大全:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape=["rectangle" | "oval" | "line" | "ring"] >   --- 默认为rectangle
    <corners  -- shape=“rectangle”时使用, 
        android:radius="integer"  -- 半径,会被下边的属性覆盖,默认为1dp,
        android:topLeftRadius="integer" 
        android:topRightRadius="integer"
        android:bottomLeftRadius="integer"
        android:bottomRightRadius="integer" />
    <gradient  -- 渐变
        android:angle="integer"
        android:centerX="integer"
        android:centerY="integer"
        android:centerColor="integer"
        android:endColor="color"
        android:gradientRadius="integer"
        android:startColor="color"
        android:type=["linear" | "radial" | "sweep"]
        android:useLevel=["true" | "false"] />
    <padding
        android:left="integer"
        android:top="integer"
        android:right="integer"
        android:bottom="integer" />
    <size    -- 指定大小,一般用在imageview配合scaleType属性使用。大小一般会适配滴
        android:width="integer"
        android:height="integer" />
    <solid    -- 填充颜色,可是是十六进制颜色。(比如想设置半透明效果,直接使用十六就只就OK)
        android:color="color" />
    <stroke    -- 指定边框,border,dashWidth和dashGap有一个为0dp则为实线
        android:width="integer"
        android:color="color"
        android:dashWidth="integer"    -- 虚线宽度
        android:dashGap="integer" />    -- 虚线间隔宽度
</shape>

注意:
一、<corners>
1、android:radius,半径,会被下边的单个角度半径属性覆盖,默认为1dp,
2、在使用时,如果单独设置四个角度,又大小不一致时,eclipse的graphics preview会报错。但是直接真机运行即可。(比如实线上边直角,下边屈角的效果)

、<gradient>中的角度 android:angle是从左开始,逆时针旋转。例如angle=“0”时,渐变色是从左至右;angle="90",渐变色是从下至上;angle=“180”,渐变色是从右至左;angle="270",渐变色是从上至下。


1.渐变色效果:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
     <gradient
          android:angle="180"
        android:startColor="#f00"
        android:centerColor="#000"
        android:endColor="#ff0"
       />
    <padding android:left="7dp"
        android:top="7dp"
        android:right="7dp"
        android:bottom="7dp" />
    <corners android:radius="8dp" />

</shape>


2、白色边框、半透明效果:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <corners android:radius="16dp" />
    <!-- 这是半透明,还可以设置全透明,那就是白色边框的效果了 -->
    <solid android:color="#80ff0000" />
    <stroke
        android:dashGap="0dp"
        android:width="4dp"
        android:color="@android:color/white" />
  
</shape>


3、分割线效果:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line" >
    <stroke
        android:width="4dp"
        android:color="@android:color/black" />
</shape>

效果如下:


其实工作中很多设计效果都可以用shape来实现,既方便又快捷!



Android中shape使用详解

1、当使用shape时我们需要在drawable文件夹下新建一个xml文件,文件的根节点为shape 2、shape的取值一共有四种 rectangle(长...
  • qq_22157767
  • qq_22157767
  • 2016年10月02日 10:56
  • 1148

android-代码实现XML中的shape的效果

android-代码实现XML中的shape的效果
  • centralperk
  • centralperk
  • 2016年02月25日 09:29
  • 1133

android 使用Xml文件定义Shape

在res目录下建一个drawable文件夹,注意文件夹名字一定要是drawable,否则在xml模板中你是找不到shape的下图就通过一个xml文件自定义一个shape ...
  • qq_15267341
  • qq_15267341
  • 2016年10月22日 23:09
  • 701

android 中 shape 及 select详解

资源shape和selector的结合使用 android_选择器(select)和Shape(形状) 利用selector设置按钮不同状态下的背景图片 android Shape全解析——再也不担心...
  • ThePromonkeyOf_HeLuo
  • ThePromonkeyOf_HeLuo
  • 2017年04月12日 12:01
  • 417

Android Drawable资源中selector、layer-list和shape标签详解

在实际开发中,我们经常会对控件的样式进行一些修改已满足我们的要求,这时候就会引用 Drawable 资源的样式文件。 1、StateListDrawable 资源         StateListD...
  • liuwan1992
  • liuwan1992
  • 2016年10月15日 21:16
  • 3728

Android中shape和selector的使用详解

shape的基本用法就是在res/drawable下定义一个xml文件用于定义shape,然后在布局控件中如Button,TextView等中用background使用shape。 先了解shape的...
  • jiangtea
  • jiangtea
  • 2016年08月07日 11:02
  • 656

Android之shape属性详解

有时候 ,为了满足一些需求,我们要用到 shape 去定义 一些背景,shape 的用法 跟图片一样 ,可以给View设置 Android:background=”@drawable/shape”, ...
  • whuhan2013
  • whuhan2013
  • 2016年05月14日 15:09
  • 5609

android shape 使用详解

一、简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用。 1、新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radiu...
  • qq_28536483
  • qq_28536483
  • 2017年06月10日 17:06
  • 142

Android shape使用详解

shape用于设定形状,可以在selector,layout等里面使用,有6个子标签。
  • nalw2012
  • nalw2012
  • 2015年10月11日 22:41
  • 247

Android shape Java代码实现 (待续)

line 线性 oval 椭圆形 rectangle 矩形 ring 环形
  • UniAir
  • UniAir
  • 2016年10月07日 14:39
  • 906
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android shape的使用详解
举报原因:
原因补充:

(最多只允许输入30个字)