Android shape自定义形状,设置渐变色

 
<?xml version="1.0" encoding="utf-8"?>
<!--
     android:shape=["rectangle" | "oval" | "line" | "ring"]
     shape的形状,默认为矩形,可以设置为矩形(rectangle)、椭圆形(oval)、线性形状(line)、环形(ring)
  下面的属性只有在android:shape="ring时可用:
  android:innerRadius 尺寸,内环的半径。
  android:innerRadiusRatio    浮点型,以环的宽度比率来表示内环的半径,
  例如,如果android:innerRadiusRatio,表示内环半径等于环的宽度除以5,这个值是可以被覆盖的,默认为9.
  android:thickness     尺寸,环的厚度
  android:thicknessRatio     浮点型,以环的宽度比率来表示环的厚度,例如,如果android:thicknessRatio="2",
  那么环的厚度就等于环的宽度除以2。这个值是可以被android:thickness覆盖的,默认值是3.
  android:useLevel     boolean值,如果当做是LevelListDrawable使用时值为true,否则为false.
  -->
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">

    <!--
         圆角
      android:radius       整型 半径
      android:topLeftRadius       整型 左上角半径
      android:topRightRadius      整型 右上角半径
      android:bottomLeftRadius 整型 左下角半径
      android:bottomRightRadius 整型 右下角半径
      当同时设置5个属性时,android:radius无效
     -->
    <corners
        android:radius="9dp"
        android:topLeftRadius="2dp"
        android:topRightRadius="2dp"
        android:bottomLeftRadius="2dp"
        android:bottomRightRadius="2dp"/><!-- 设置圆角半径 -->

    <!--
        渐变色
        android:startColor  颜色值 起始颜色
        android:endColor    颜色值 结束颜色
        android:centerColor 整型   渐变中间颜色,即开始颜色与结束颜色之间的颜色
        android:angle       整型   渐变角度(PS:当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。angle必须为45的整数倍)
        android:type        ["linear" | "radial" | "sweep"] 渐变类型(取值:linear、radial、sweep)
                            linear 线性渐变,这是默认设置
                            radial 放射性渐变,以开始色为中心。
                            sweep 扫描线式的渐变。
       android:useLevel   ["true" | "false"] 如果要使用LevelListDrawable对象,就要设置为true。设置为true无渐变。false有渐变色
       android:gradientRadius 整型 渐变色半径.当 android:type="radial" 时才使用。单独使用 android:type="radial"会报错。
       android:centerX        整型   渐变中心X点坐标的相对位置
       android:centerY   整型   渐变中心Y点坐标的相对位置
android:startColor,android:centerColor,android:endColor:分别为颜色的起始颜色,中间颜色和结束颜色。如果没有设置中间颜色,那么就从起始颜色渐变到结束颜色,否则回从起始颜色渐变到中间颜色,再从中间颜色渐变到结束颜色。

android:centerX,android:centerY:我觉得这两个属性有存在的必要性的前提是要有

android:centerColor。原因是当我没有设置android:centerColor属性时,任意的改变这两个属性的值都不会改变控件的显示效果。这两个属性是渐变的中间位置。大小都是再0.0--1.0。
    -->
    <gradient
        android:startColor="@android:color/white"
        android:centerColor="@android:color/black"
        android:endColor="@android:color/black"
        android:useLevel="true"
        android:angle="45"
        android:type="radial"
        android:centerX="0"
        android:centerY="0"
        android:gradientRadius="90"/>

    <!--
          内边距,即内容与边的距离
          android:left      整型 左内边距
          android:top   整型 上内边距
          android:right      整型 右内边距
          android:bottom 整型 下内边距
      -->
    <padding
        android:left="2dp"
        android:top="2dp"
        android:right="2dp"
        android:bottom="2dp"/><!-- 各方向的间隔 -->

    <!--
       size 大小
       android:width 整型 宽度
       android:height 整型 高度
    -->
    <size
        android:width="50dp"
        android:height="50dp"/><!-- 宽度和高度 -->

    <!--
        内部填充
        android:color 颜色值 填充颜色
    -->
    <solid
        android:color="@android:color/white"/><!-- 填充的颜色 -->

     <!--
         描边
         android:width 整型 描边的宽度
         android:color 颜色值 描边的颜色
         android:dashWidth 整型 表示描边的样式是虚线的宽度, 值为0时,表示为实线。值大于0则为虚线。
         android:dashGap      整型 表示描边为虚线时,虚线之间的间隔 即“ - - - - ”
android:dashWidth:线条的长度。当设置了该值时,将会显示位虚线。除非你dashWidth设置的值很大,那么看起来还是一条完整的线条。

android:dashGap:线条之间的距离。只在设置了dashWidth属性的情况下才会有效果。可以认为是虚线之间的宽度。
     -->
    <stroke
        android:width="2dp"
        android:color="@android:color/black"
        android:dashWidth="1dp"
        android:dashGap="2dp"/>

</shape>    
时间: 2024-10-01 02:51:33

Android shape自定义形状,设置渐变色的相关文章

Android Shape自定义纯色圆角按钮

版权声明:分享技术,传播快乐.如果本博客对你有帮助,请在我的博客首页为我打赏吧! 在Android开发中,为响应美化应用中控件的效果,使用Shape定义图形效果,可以解决图片过多的问题. 首先看一下效果图: 整个页面布局为: 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res

android shape详解

shape--> shape属性: rectangle: 矩形,默认的形状,可以画出直角矩形.圆角矩形.弧形等 solid: 设置形状填充的颜色,只有android:color一个属性 android:color 填充的颜色 padding: 设置内容与形状边界的内间距,可分别设置左右上下的距离 一:  rectangle: solid: 设置形状填充的颜色,只有android:color一个属性 android:color 填充的颜色 padding: 设置内容与形状边界的内间距,可分别设置左

Android shape文件属性详解

Android开发中难免用到自定义的资源文件,其中很重要的便是Shape文件,Shape文件可以用来定义任意形状,常常用来做背景色等. Shape文件实际上也是.xml,其根元素是shape.下面将详细介绍Shape文件中各种元素和属性的含义. 根元素<shape>指定基本形状 shape属性指定基本形状,允许的值有:rectangle(矩形),oval(椭圆),line(线条), ring(环).默认的值是矩形,下面的代码定义了一个矩形: <?xml version="1.0

android shape的使用详解以及常用效果(渐变色、分割线、边框、半透明阴影效果等)

shape使用.渐变色.分割线.边框.半透明.半透明阴影效果. 首先简单了解一下shape中常见的属性.(详细介绍参看 api文档) 转载请注明:Rflyee_大飞:http://blog.csdn.net/rflyee/article/details/20785495 <?xml version="1.0" encoding="utf-8"?><shape    xmlns:android="http://schemas.android

android shape(如自定义Button)

Shape 前言:有时候会去自己去画一些Button的样式来展现在UI当中,其中主要用到的就是Shape 先来看一段代码: 1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xmlns:android="http://schemas.android.com/apk/res/android" 3 android:shape="rectangle" > 4

android中给Dialog设置的动画如何自定义修改参数

============问题描述============ 在android中给Dialog设置动画的方法我只找到Dialog.getWindow().setWindowAnimation(int resID); 这样不是只能在styles里用xml定义动画吗? 但是我现在想要先用程序计算出一个屏幕上的点,在让Dialog从该点开始执行scaleAnimation. 我如何给我Dialog的动画设置起始点之类的参数呢? ============解决方案1============ 自定义一个dial

Android项目实战(九):CustomShapeImageView 自定义形状的ImageView

原文:Android项目实战(九):CustomShapeImageView 自定义形状的ImageView 一个两年前出来的第三方类库,具有不限于圆形ImageView的多种形状ImageView,项目开发必备 github下载地址:https://github.com/MostafaGazar/CustomShapeImageView 1.首先源码中有一个第三方类库 :library 先要把Library导入到项目中, 不会的可以看下导入方法:关于Eclipse 和 IDEA 导入libra

制作自定义背景Button按钮、自定义形状Button的全攻略(转)

在Android开发应用中,默认的Button是由系统渲染和管理大小的.而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的.因此,我们在开发产品的时候,需要对默认按钮进行美化.在本篇里,笔者结合在应用开发中的经验,探讨一下自定义背景的按钮.自定义形状按钮的实现方法. 首先看实现效果截图: 自定义背景的按钮目前有2种方式实现,矢量和位图. 1. 矢量图形绘制的方式 矢量图形绘制的方式实现简单,适合对于按钮形状和图案要求不高的场合.步骤如下: (a) 使用xml定义一个圆角矩形,外围轮廓线实

Android进阶——自定义View之自己绘制彩虹圆环调色板

引言 前面几篇文章都是关于通过继承系统View和组合现有View来实现自定义View的,刚好由于项目需要实现一个滑动切换LED彩灯颜色的功能,所以需要一个类似调色板的功能,随着手在调色板有效区域滑动,LED彩灯随即显示相应的颜色,也可以通过左右的按钮,按顺序切换显示一组颜色,同时都随着亮度的改变LED彩灯的亮度随即变化,这篇基本上把继承View重绘实现自定义控件的大部分知识总结了下(当然还有蛮多没有涉及到,比如说自适应布局等),源码在Github上 一.继承View绘制自定义控件的通用步骤 自定