zoukankan      html  css  js  c++  java
  • Android设置虚线、圆角、渐变

    有图又真相,先上图再说。


    点击效果:




    设置虚线:

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <shape xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:shape="line" >  
    4.     <stroke  
    5.         android:dashGap="3dp"  
    6.         android:dashWidth="6dp"  
    7.         android:width="1dp"  
    8.         android:color="#63a219" />  
    9.     <!-- 虚线的高度 -->  
    10.     <size android:height="1dp" />  
    11. </shape>  


    其中,破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap=0dp时,为实线


    设置圆角:

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <shape xmlns:android="http://schemas.android.com/apk/res/android"   
    3.     android:shape="rectangle">  
    4.     <!-- 填充颜色 -->  
    5.     <solid android:color="#FFFFFF"></solid>  
    6.     <!-- 线的宽度,颜色灰色 -->  
    7.     <stroke android:width="1dp" android:color="#63a219"></stroke>          
    8.     <!-- 矩形的圆角半径 -->  
    9.     <corners android:radius="10dp" />         
    10. </shape>  


    设置渐变填充和四个圆角半径:

    1. <shape xmlns:android="http://schemas.android.com/apk/res/android"   
    2.     android:shape="rectangle">  
    3.     <!--分別對應上面左圆角的半径,上面右圆角的半径,下面左圆角的半径,下面右圆角的半径-->  
    4.     <corners    
    5.           android:topLeftRadius="0dp"  
    6.           android:topRightRadius="7dp"  
    7.           android:bottomLeftRadius="0dp"  
    8.           android:bottomRightRadius="7dp"/>  
    9.     <!--設置漸變-->  
    10.     <gradient android:startColor="#9cff00"   
    11.           android:endColor="#197600"  
    12.           android:angle="270"/>  
    13.     <stroke     
    14.         android:width="1dp"   
    15.         android:color="#63a219" />   
    16. </shape>  


    设置渐变点击效果:

    1. <style name="list_item_top">  
    2.     <item name="android:clickable">true</item>  
    3.     <item name="android:focusable">true</item>  
    4.     <item name="android:paddingTop">10dip</item>  
    5.     <item name="android:paddingBottom">10dip</item>  
    6.     <item name="android:paddingLeft">10dip</item>  
    7.         <item name="android:paddingRight">10dip</item>  
    8.         <item name="android:gravity">center_vertical</item>  
    9.         <item name="android:background">@drawable/background_view_rounded_top</item>  
    10. </style>  
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <inset xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:insetLeft="1.0px"  
    4.     android:insetRight="1.0px" >  
    5.   
    6.     <selector>  
    7.         <item android:state_pressed="true">  
    8.             <shape>  
    9.                 <gradient  
    10.                     android:angle="270.0"  
    11.                     android:endColor="@color/base_end_color_pressed"  
    12.                     android:startColor="@color/base_start_color_pressed" />  
    13.   
    14.                 <corners  
    15.                     android:bottomLeftRadius="0.0dip"  
    16.                     android:bottomRightRadius="0.0dip"  
    17.                     android:radius="2.0dip"  
    18.                     android:topLeftRadius="10.0dip"  
    19.                     android:topRightRadius="10.0dip" />  
    20.                   
    21.                 <stroke   
    22.                     android:width="1dp"   
    23.                     android:color="#eededede" />  
    24.             </shape>  
    25.         </item>  
    26.         <item>  
    27.             <shape>  
    28.                 <gradient  
    29.                     android:angle="270.0"  
    30.                     android:endColor="@color/base_end_color_default"  
    31.                     android:startColor="@color/base_start_color_default" />  
    32.   
    33.                 <corners  
    34.                     android:bottomLeftRadius="0.0dip"  
    35.                     android:bottomRightRadius="0.0dip"  
    36.                     android:radius="2.0dip"  
    37.                     android:topLeftRadius="11.0dip"  
    38.                     android:topRightRadius="11.0dip" />  
    39.                   
    40.                 <stroke   
    41.                     android:width="1dp"   
    42.                     android:color="#eededede" />  
    43.             </shape>  
    44.         </item>  
    45.     </selector>  
    46.   
    47. </inset>  



    重新补充:好久没有关注自己的博客,没有注意到各位的评论,关于4.0以上设备虚线会变实线的问题,下面几位仁兄已经给出了答案,

    代码中可以添加:

    1. line.setLayerType(View.LAYER_TYPE_SOFTWARE, null);  


    xml中可以添加:

    1. android:layerType="software"  


    谢谢大家的参与!

    源码免费下载地址:免费下载

    http://download.csdn.net/detail/lan410812571/5925371

  • 相关阅读:
    Android Studio 字体和字号调整
    【IDEA】项目中引入Spring MVC
    【Double】double精度问题和int、long除不尽取舍问题
    【进制转换】原码反码和补码的理解以及进制转换
    【工具】SwitchHost的使用
    【工具】谷歌浏览器使用技巧
    【Git和GitHub】学习笔记
    【IE兼容性】代码中多语言样式+IE不兼容解决
    【Trello】使用指南
    【实操】进制转换:除基倒取余法
  • 原文地址:https://www.cnblogs.com/Jingerxin/p/5421534.html
Copyright © 2011-2022 走看看