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

     

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

    点击效果:

    设置虚线:

    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    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时,为实线

    设置圆角:

    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    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>  

    设置渐变填充和四个圆角半径:
    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    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>  
    设置渐变点击效果:
    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    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>  

    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    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以上设备虚线会变实线的问题,下面几位仁兄已经给出了答案,

    代码中可以添加:

    [java] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. line.setLayerType(View.LAYER_TYPE_SOFTWARE, null);  

    xml中可以添加:
    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. android:layerType="software"  

    谢谢大家的参与!

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

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

  • 相关阅读:
    Java for LeetCode 229 Majority Element II
    Java for LeetCode 228 Summary Ranges
    Java for LeetCode 227 Basic Calculator II
    Java for LintCode 颜色分类
    Java for LintCode 链表插入排序
    Java for LintCode 颠倒整数
    Java for LintCode 验证二叉查找树
    Java for LeetCode 226 Invert Binary Tree
    Java for LeetCode 225 Implement Stack using Queues
    Java for LeetCode 224 Basic Calculator
  • 原文地址:https://www.cnblogs.com/qianyukun/p/4844219.html
Copyright © 2011-2022 走看看