Android shape样式简单使用以及标签简介

shape [rectangle | oval | line | ring]四种不同的显示状态。

一、简单使用:
在res/drawable文件夹下创建一个跟标签为shape的文件如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <!-- 定义shape的内部填充颜色-->
    <solid android:color="@color/colorBtnNormal"
           android:bottomLeftRadius="16dp"
           android:bottomRightRadius="16dp"
           android:topLeftRadius="24dp"
           android:topRightRadius="24dp"/>
    <corners
        android:radius="8dp"/>

    <!--<gradient
        android:centerColor="@color/colorBtnNormal"
        android:type="radial"
        android:centerX="0.5"
        android:gradientRadius="100"
        android:endColor="#FFFFFF"
        android:startColor="@color/colorBtnNormal"
        android:useLevel="false"/>-->

</shape>
之后再布局文件中直接让background引用我们声明好的文件名就可以简单使用如下:
 <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:text="请求百度"
        android:background="@drawable/shape_btn_normal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView"/>
也可以在selector中使用我们自定义好的shape如下
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/shape_btn_pause"/>
    <item android:drawable="@drawable/shape_btn_normal"/>
</selector>
以上就是shape样式的简单使用。
二、shape中有六个基本属性(corners圆角定义,gradient渐变定义,padding内边距定义,size大小定义,solid定义内部填充颜色,stroke边框定义)
定义格式如下:
<corners    //定义圆角    
   android:radius="dimension"      //全部的圆角半径    
   android:topLeftRadius="dimension"   //左上角的圆角半径    
   android:topRightRadius="dimension"  //右上角的圆角半径    
   android:bottomLeftRadius="dimension"    //左下角的圆角半径    
   android:bottomRightRadius="dimension" />    //右下角的圆角半径    
<solid  android:color="color" />    
<gradient android:type=["linear" | "radial" | "sweep"] //共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变 android:angle="integer" //渐变角度,必须为45的倍数,0为从左到右,90为从上到下 这个属性只对线性渐变有效果 android:centerX="float" //渐变中心X的相当位置,范围为0~1 android:centerY="float" //渐变中心Y的相当位置,范围为0~1 android:startColor="color" //渐变开始点的颜色 android:centerColor="color" //渐变中间点的颜色,在开始与结束点之间 android:endColor="color" //渐变结束点的颜色 android:gradientRadius="float" //渐变的半径,只有当渐变类型为radial时才能使用 android:useLevel=["true" | "false"] /> //使用LevelListDrawable时就要设置为true。设为false时才有渐变效果
<stroke         
 android:width="dimension"   //描边的宽度    
 android:color="color"   //描边的颜色    
 // 以下两个属性设置虚线    
 android:dashWidth="dimension"   //虚线的宽度,值为0时是实线    
 android:dashGap="dimension" />      //虚线的间隔   
<size    
  android:width="dimension"    
  android:height="dimension" />  
<padding android:left="dimension"
android:top="dimension" android:right="dimension" android:bottom="dimension" />
 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值