zoukankan      html  css  js  c++  java
  • 【Android基础】android shape详解

    一,概述

    我们在android开发中经常要用到图片,而一些简单的图片我们完全可以用shape形状drawable资源代替,使用shape有一个好处就是可以减小我们apk的大小,因为同样的效果,shape比图片更节省空间,好了,我们废话不多说,下面进入正题。

    二,shape初识

    shape是android drawable资源中的一个重要的角色,drawable资源覆盖面广,它不仅代表图片,它可以是一个颜色,一个形状,因为shape其简单实用,下面我们来看一下shape形状的分类:

    rectangle:

    rectangle代表者矩形,它是shape默认的形状类型,即如果我们不在shape的android:shape属性指定其类型时,默认是矩形,用它我们可以画一个矩形,圆角矩形,具体在下面会说道

    oval:

    ovel,椭圆,用它可以画椭圆,圆

    line:

    水平线,在使用该形状的时候,我们得给它指定stroke元素指定其宽度,不然在使用该形状的时候会报空指针异常

    ring:

    环形

    下面我们来用上面说道的各种形状画图形,打造各种简单的形状

    三,shape的使用

    下面看看用shape画的一些简单的图形,之后我会按照图形说一下shape的各种属性以及一些要注意的问题:

    各种简单的形状

    上面的一些图形都是用shape画出来的,第一二行的是矩形(rectangle)的一些简单的形状

    我们来看一下第一二行的图形实现的xml代码,其他图形的就不贴了,不然文章篇幅太大了:

    • 第一个
    • <shape xmlns:android="http://schemas.android.com/apk/res/android" >
          <!-- 设置固定填充色 -->
          <solid android:color="#f00" />

          <size android:width="60dp" android:height="30dp"/>

      </shape>
    • 第二个
    • <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
          <size android:width="60dp" android:height="30dp"/>
          <!-- 设置渐变填充色 -->
          <gradient android:startColor="#00f" android:centerColor="#0f0" android:endColor="#f00"></gradient>
      </shape>
    • 第三个
    • <shape xmlns:android="http://schemas.android.com/apk/res/android" >

          <size android:width="60dp" android:height="30dp"/>
          <!-- 设置描边 -->
          <stroke android:width="2dp" android:color="#f00" ></stroke>

      </shape>
    • 第四个
    • <shape xmlns:android="http://schemas.android.com/apk/res/android" >
          <size android:width="60dp" android:height="30dp"/>
          <!-- 设置描边 -->
          <stroke android:width="2dp" android:color="#f00" android:dashWidth="5dp" android:dashGap="5dp"></stroke>
      </shape>
    • 第五个
      <shape xmlns:android="http://schemas.android.com/apk/res/android" 
          >
      
          <size android:width="60dp" android:height="30dp"/>
          <!-- 设置描边 -->
          <stroke android:width="2dp" android:color="#f00" android:dashWidth="5dp" android:dashGap="5dp"></stroke>
      
          <corners android:radius="15dp"/>
      </shape>
    • 
      
  • 相关阅读:
    虚函数和纯虚函数
    MS CRM 2011中PartyList类型字段的实例化
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(4)
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(2)
    MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(二)
    MS CRM 2011 SDK 5.08已经发布
    MS CRM 2011 Q2的一些更新
    最近很忙
    Microsoft Dynamics CRM 2011最近的一些更新
    补一篇,Update Rollup 12 终于发布了
  • 原文地址:https://www.cnblogs.com/Jingerxin/p/5333228.html
Copyright © 2011-2022 走看看