Android 中shape 的常用属性

本文深入解析Android中形状、圆角、渐变色和内边距等关键属性,包括矩形、椭圆、线性形状、环形等基本形状的创建方式,以及如何调整其圆角、渐变色和内边距,提供丰富的实例代码,助开发者轻松掌握Android图形界面设计技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.形状 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.

2.  圆角corners

      android:radius   整型 半径

      android:topLeftRadius   整型 左上角半径

      android:topRightRadius   整型 右上角半径

      android:bottomLeftRadius 整型 左下角半径

      android:bottomRightRadius 整型 右下角半径

3.渐变色gradient

        android:startColor  颜色值 起始颜色

        android:endColor    颜色值 结束颜色

        android:centerColor 整型   渐变中间颜色,即开始颜色与结束颜色之间的颜色

        android:angle       整型   渐变角度(PS:当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。angle必须为45的整数倍)

        android:type        ["linear" | "radial" | "sweep"] 渐变类型(取值:linearradialsweep)

                            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点坐标的相对位置

4.内边距 padding

          内边距,即内容与边的距离 

          android:left   整型 左内边距

          android:top   整型 上内边距

          android:right   整型 右内边距

          android:bottom 整型 下内边距

5.大小 size

       android:width 整型 宽度

       android:height 整型 高度

    <size

        android:height="200dp"

        android:width="300dp"

        />

6.线stroke

         android:width 整型 描边的宽度

         android:color 颜色值 描边的颜色

         android:dashWidth 整型 表示描边的样式是虚线的宽度, 值为0时,表示为实线。值大于0则为虚线。

         android:dashGap   整型 表示描边为虚线时,虚线之间的间隔 即“ - - - - ”

     <stroke 

        android:width="2dp"

        android:color="#dcdcdc"  

        /> 



例子:


<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
     android:shape="rectangle"
    android:visible="true"
    >
    <!-- 设置线 -->
    <stroke android:width="2dp"
        android:color="#FDD0A6"/>
    <!-- 设置角度 -->
    <corners android:bottomLeftRadius="40dp"
        android:bottomRightRadius="40dp"/>
    <!-- 填充色 -->
    <gradient
        android:angle="0"
        android:startColor="#ffffff"
        android:endColor="#ffffff"/>

</shape>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值