Android源码之设置虚线、圆角、渐变
白羽 2018-06-15 来源 :网络 阅读 1500 评论 0

摘要:本文将带你了解Android源码之设置虚线、圆角、渐变,希望本文对大家学Android有所帮助。




设置虚线:
<?xml version="1.0" encoding="utf-8"?>  <shape xmlns:android="//schemas.android.com/apk/res/android"  
    android:shape="line" >  
    <stroke  
        android:dashGap="3dp"  
        android:dashWidth="6dp"  
        android:width="1dp"  
        android:color="#63a219" />  
    <!-- 虚线的高度 -->  
    <size android:height="1dp" />  </shape>  
其中,破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap=0dp时,为实线
设置圆角:
<?xml version="1.0" encoding="utf-8"?>  <shape xmlns:android="//schemas.android.com/apk/res/android"   
    android:shape="rectangle">  
    <!-- 填充颜色 -->  
    <solid android:color="#FFFFFF"></solid>  
    <!-- 线的宽度,颜色灰色 -->  
    <stroke android:width="1dp" android:color="#63a219"></stroke>          
    <!-- 矩形的圆角半径 -->  
    <corners android:radius="10dp" />         </shape> 
设置渐变填充和四个圆角半径:
<shape xmlns:android="//schemas.android.com/apk/res/android"   
    android:shape="rectangle">  
    <!--分別對應上面左圆角的半径,上面右圆角的半径,下面左圆角的半径,下面右圆角的半径-->  
    <corners    
          android:topLeftRadius="0dp"  
          android:topRightRadius="7dp"  
          android:bottomLeftRadius="0dp"  
          android:bottomRightRadius="7dp"/>  
    <!--設置漸變-->  
    <gradient android:startColor="#9cff00"   
          android:endColor="#197600"  
          android:angle="270"/>  
    <stroke     
        android:width="1dp"   
        android:color="#63a219" />   </shape>  
设置渐变点击效果:
<style name="list_item_top">  
    <item name="android:clickable">true</item>  
    <item name="android:focusable">true</item>  
    <item name="android:paddingTop">10dip</item>  
    <item name="android:paddingBottom">10dip</item>  
    <item name="android:paddingLeft">10dip</item>  
        <item name="android:paddingRight">10dip</item>  
        <item name="android:gravity">center_vertical</item>  
        <item name="android:background">@drawable/background_view_rounded_top</item>  </style> 
<?xml version="1.0" encoding="UTF-8"?>  <inset xmlns:android="//schemas.android.com/apk/res/android"  
    android:insetLeft="1.0px"  
    android:insetRight="1.0px" >  
  
    <selector>  
        <item android:state_pressed="true">  
            <shape>  
                <gradient  
                    android:angle="270.0"  
                    android:endColor="@color/base_end_color_pressed"  
                    android:startColor="@color/base_start_color_pressed" />  
  
                <corners  
                    android:bottomLeftRadius="0.0dip"  
                    android:bottomRightRadius="0.0dip"  
                    android:radius="2.0dip"  
                    android:topLeftRadius="10.0dip"  
                    android:topRightRadius="10.0dip" />  
                  
                <stroke   
                    android:width="1dp"   
                    android:color="#eededede" />  
            </shape>  
        </item>  
        <item>  
            <shape>  
                <gradient  
                    android:angle="270.0"  
                    android:endColor="@color/base_end_color_default"  
                    android:startColor="@color/base_start_color_default" />  
  
                <corners  
                    android:bottomLeftRadius="0.0dip"  
                    android:bottomRightRadius="0.0dip"  
                    android:radius="2.0dip"  
                    android:topLeftRadius="11.0dip"  
                    android:topRightRadius="11.0dip" />  
                  
                <stroke   
                    android:width="1dp"   
                    android:color="#eededede" />  
            </shape>  
        </item>  
    </selector>  
  </inset>  
关于4.0以上设备虚线会变实线
代码中可以添加:
line.setLayerType(View.LAYER_TYPE_SOFTWARE, null);  
xml中可以添加:
android:layerType="software"



本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道

 


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved