zoukankan      html  css  js  c++  java
  • Android开发:自定义图形shape

    转自:http://hi.baidu.com/whyspai/item/d21f8638a7d16785c3cf29f2

    在Android开发过程中,经常会针对一些控件使用渐变的处理,一种方式是采用调用不同的图片来实现,还有一种则是自定义图形shape来实现.

    自定义图形shape,支持以下几种属性shape、gradient、stroke、corners、padding、solid等。

    以下为程序示例:

    1. <shape 

    2.     xmlns:android="http://schemas.android.com/apk/res/android" 

    3.     <gradientandroid:startColor="#FFFF0000" 

    4.         android:endColor="#80FF00FF" 

    5.         android:angle="100"/> 

    6.     <paddingandroid:left="40dp" 

    7.         android:top="15dp"android:right="6dp" 

    8.         android:bottom="6dp"/> 

    9.     <cornersandroid:radius="6dp"/> 

    10. </shape>

    简单介绍下shape的各子属性:

    gradient   ---- 对应颜色渐变。 startcolor、endcolor渐变颜色的起至颜色值, android:angle 是指从哪个角度开始变,必须为45的整数倍另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半android:gradientRadius="50"。

     

    solid     ----  实心,就是填充的意思,android:color指定填充的颜色

     

    stroke  ----  描边,android:width="2dp"描边的宽度android:color描边的颜色。我们还可以把描边弄成虚线的形式,

    设置方式为:android:dashWidth="5dp" android:dashGap="3dp"

    其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。

     

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

    • <corners 

    •  

    •         android:topRightRadius="10dp"    右上角 

    •         android:bottomLeftRadius="10dp"    右下角 

    •         android:topLeftRadius="0dp"    左上角 

    •         android:bottomRightRadius="1dp"    左下角 

    • />

    这里有个地方需要注意,bottomLeftRadius是右下角,而不是左下角

     

    padding  ---- 定义内容离边界的距离。 与android:padding_left、android:padding_right一样的功能

     

     

    使用sharp时在drawable中定义针对shape的xml文件并实现,在调用时跟使用图片类似。

  • 相关阅读:
    Jersey的异常处理
    REST响应处理
    jersey REST的接口简述
    Firebird 同一字段的多行合并为一行
    Firebird/InterBase内置函数使用说明
    发布FireBird数据库所需要DLL文件
    unidac连接FireBird数据库
    打开与关闭Linux防火墙
    Linux FTP 命令
    Linux 命令修改系统时间
  • 原文地址:https://www.cnblogs.com/Miami/p/3404876.html
Copyright © 2011-2022 走看看