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

点击效果:

设置虚线:

**[html]** [view plain](http://blog.csdn.net/lan410812571/article/details/9946991#)[copy](http://blog.csdn.net/lan410812571/article/details/9946991#)[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/83373)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/83373/fork)
  <div>
    <embed id="ZeroClipboardMovie_1" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_1">
    </embed>
  </div>
</div>
- <span class="tag"><?</span><span class="tag-name">xml</span> <span class="attribute">version</span>=<span class="attribute-value">&#8220;1.0&#8221;</span> <span class="attribute">encoding</span>=<span class="attribute-value">&#8220;utf-8&#8221;</span><span class="tag">?></span>

- <span class="tag"><</span><span class="tag-name">shape</span> <span class="attribute">xmlns:android</span>=<span class="attribute-value">&#8220;http://schemas.android.com/apk/res/android&#8221;</span>

- <span class="attribute">android:shape</span>=<span class="attribute-value">&#8220;line&#8221;</span> <span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">stroke</span>

- <span class="attribute">android:dashGap</span>=<span class="attribute-value">&#8220;3dp&#8221;</span>

- <span class="attribute">android:dashWidth</span>=<span class="attribute-value">&#8220;6dp&#8221;</span>

- <span class="attribute">android:width</span>=<span class="attribute-value">&#8220;1dp&#8221;</span>

- <span class="attribute">android:color</span>=<span class="attribute-value">&#8220;#63a219&#8221;</span> <span class="tag">/></span>


- <span class="tag"><</span><span class="tag-name">size</span> <span class="attribute">android:height</span>=<span class="attribute-value">&#8220;1dp&#8221;</span> <span class="tag">/></span>

- <span class="tag"></</span><span class="tag-name">shape</span><span class="tag">></span>

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

设置圆角:

**[html]** [view plain](http://blog.csdn.net/lan410812571/article/details/9946991#)[copy](http://blog.csdn.net/lan410812571/article/details/9946991#)[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/83373)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/83373/fork)
  <div>
    <embed id="ZeroClipboardMovie_2" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_2">
    </embed>
  </div>
</div>
- <span class="tag"><?</span><span class="tag-name">xml</span> <span class="attribute">version</span>=<span class="attribute-value">&#8220;1.0&#8221;</span> <span class="attribute">encoding</span>=<span class="attribute-value">&#8220;utf-8&#8221;</span><span class="tag">?></span>

- <span class="tag"><</span><span class="tag-name">shape</span> <span class="attribute">xmlns:android</span>=<span class="attribute-value">&#8220;http://schemas.android.com/apk/res/android&#8221;</span>

- <span class="attribute">android:shape</span>=<span class="attribute-value">&#8220;rectangle&#8221;</span><span class="tag">></span>


- <span class="tag"><</span><span class="tag-name">solid</span> <span class="attribute">android:color</span>=<span class="attribute-value">&#8220;#FFFFFF&#8221;</span><span class="tag">></span><span class="tag"></</span><span class="tag-name">solid</span><span class="tag">></span>


- <span class="tag"><</span><span class="tag-name">stroke</span> <span class="attribute">android:width</span>=<span class="attribute-value">&#8220;1dp&#8221;</span> <span class="attribute">android:color</span>=<span class="attribute-value">&#8220;#63a219&#8221;</span><span class="tag">></span><span class="tag"></</span><span class="tag-name">stroke</span><span class="tag">></span>


- <span class="tag"><</span><span class="tag-name">corners</span> <span class="attribute">android:radius</span>=<span class="attribute-value">&#8220;10dp&#8221;</span> <span class="tag">/></span>

- <span class="tag"></</span><span class="tag-name">shape</span><span class="tag">></span>

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

**[html]** [view plain](http://blog.csdn.net/lan410812571/article/details/9946991#)[copy](http://blog.csdn.net/lan410812571/article/details/9946991#)[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/83373)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/83373/fork)
  <div>
    <embed id="ZeroClipboardMovie_3" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_3">
    </embed>
  </div>
</div>
- <span class="tag"><</span><span class="tag-name">shape</span> <span class="attribute">xmlns:android</span>=<span class="attribute-value">&#8220;http://schemas.android.com/apk/res/android&#8221;</span>

- <span class="attribute">android:shape</span>=<span class="attribute-value">&#8220;rectangle&#8221;</span><span class="tag">></span>


- <span class="tag"><</span><span class="tag-name">corners</span>

- <span class="attribute">android:topLeftRadius</span>=<span class="attribute-value">&#8220;0dp&#8221;</span>

- <span class="attribute">android:topRightRadius</span>=<span class="attribute-value">&#8220;7dp&#8221;</span>

- <span class="attribute">android:bottomLeftRadius</span>=<span class="attribute-value">&#8220;0dp&#8221;</span>

- <span class="attribute">android:bottomRightRadius</span>=<span class="attribute-value">&#8220;7dp&#8221;</span><span class="tag">/></span>


- <span class="tag"><</span><span class="tag-name">gradient</span> <span class="attribute">android:startColor</span>=<span class="attribute-value">&#8220;#9cff00&#8221;</span>

- <span class="attribute">android:endColor</span>=<span class="attribute-value">&#8220;#197600&#8221;</span>

- <span class="attribute">android:angle</span>=<span class="attribute-value">&#8220;270&#8221;</span><span class="tag">/></span>

- <span class="tag"><</span><span class="tag-name">stroke</span>

- <span class="attribute">android:width</span>=<span class="attribute-value">&#8220;1dp&#8221;</span>

- <span class="attribute">android:color</span>=<span class="attribute-value">&#8220;#63a219&#8221;</span> <span class="tag">/></span>

- <span class="tag"></</span><span class="tag-name">shape</span><span class="tag">></span>

设置渐变点击效果:

**[html]** [view plain](http://blog.csdn.net/lan410812571/article/details/9946991#)[copy](http://blog.csdn.net/lan410812571/article/details/9946991#)[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/83373)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/83373/fork)
  <div>
    <embed id="ZeroClipboardMovie_4" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_4">
    </embed>
  </div>
</div>
- <span class="tag"><</span><span class="tag-name">style</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;list_item_top&#8221;</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;android:clickable&#8221;</span><span class="tag">></span>true<span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;android:focusable&#8221;</span><span class="tag">></span>true<span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;android:paddingTop&#8221;</span><span class="tag">></span>10dip<span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;android:paddingBottom&#8221;</span><span class="tag">></span>10dip<span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;android:paddingLeft&#8221;</span><span class="tag">></span>10dip<span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;android:paddingRight&#8221;</span><span class="tag">></span>10dip<span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;android:gravity&#8221;</span><span class="tag">></span>center_vertical<span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span> <span class="attribute">name</span>=<span class="attribute-value">&#8220;android:background&#8221;</span><span class="tag">></span>@drawable/background_view_rounded_top<span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"></</span><span class="tag-name">style</span><span class="tag">></span>

 

**[html]** [view plain](http://blog.csdn.net/lan410812571/article/details/9946991#)[copy](http://blog.csdn.net/lan410812571/article/details/9946991#)[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/83373)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/83373/fork)
  <div>
    <embed id="ZeroClipboardMovie_5" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_5">
    </embed>
  </div>
</div>
- <span class="tag"><?</span><span class="tag-name">xml</span> <span class="attribute">version</span>=<span class="attribute-value">&#8220;1.0&#8221;</span> <span class="attribute">encoding</span>=<span class="attribute-value">&#8220;UTF-8&#8221;</span><span class="tag">?></span>

- <span class="tag"><</span><span class="tag-name">inset</span> <span class="attribute">xmlns:android</span>=<span class="attribute-value">&#8220;http://schemas.android.com/apk/res/android&#8221;</span>

- <span class="attribute">android:insetLeft</span>=<span class="attribute-value">&#8220;1.0px&#8221;</span>

- <span class="attribute">android:insetRight</span>=<span class="attribute-value">&#8220;1.0px&#8221;</span> <span class="tag">></span>

- 
- <span class="tag"><</span><span class="tag-name">selector</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span> <span class="attribute">android:state_pressed</span>=<span class="attribute-value">&#8220;true&#8221;</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">shape</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">gradient</span>

- <span class="attribute">android:angle</span>=<span class="attribute-value">&#8220;270.0&#8221;</span>

- <span class="attribute">android:endColor</span>=<span class="attribute-value">&#8220;@color/base_end_color_pressed&#8221;</span>

- <span class="attribute">android:startColor</span>=<span class="attribute-value">&#8220;@color/base_start_color_pressed&#8221;</span> <span class="tag">/></span>

- 
- <span class="tag"><</span><span class="tag-name">corners</span>

- <span class="attribute">android:bottomLeftRadius</span>=<span class="attribute-value">&#8220;0.0dip&#8221;</span>

- <span class="attribute">android:bottomRightRadius</span>=<span class="attribute-value">&#8220;0.0dip&#8221;</span>

- <span class="attribute">android:radius</span>=<span class="attribute-value">&#8220;2.0dip&#8221;</span>

- <span class="attribute">android:topLeftRadius</span>=<span class="attribute-value">&#8220;10.0dip&#8221;</span>

- <span class="attribute">android:topRightRadius</span>=<span class="attribute-value">&#8220;10.0dip&#8221;</span> <span class="tag">/></span>

- 
- <span class="tag"><</span><span class="tag-name">stroke</span>

- <span class="attribute">android:width</span>=<span class="attribute-value">&#8220;1dp&#8221;</span>

- <span class="attribute">android:color</span>=<span class="attribute-value">&#8220;#eededede&#8221;</span> <span class="tag">/></span>

- <span class="tag"></</span><span class="tag-name">shape</span><span class="tag">></span>

- <span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">shape</span><span class="tag">></span>

- <span class="tag"><</span><span class="tag-name">gradient</span>

- <span class="attribute">android:angle</span>=<span class="attribute-value">&#8220;270.0&#8221;</span>

- <span class="attribute">android:endColor</span>=<span class="attribute-value">&#8220;@color/base_end_color_default&#8221;</span>

- <span class="attribute">android:startColor</span>=<span class="attribute-value">&#8220;@color/base_start_color_default&#8221;</span> <span class="tag">/></span>

- 
- <span class="tag"><</span><span class="tag-name">corners</span>

- <span class="attribute">android:bottomLeftRadius</span>=<span class="attribute-value">&#8220;0.0dip&#8221;</span>

- <span class="attribute">android:bottomRightRadius</span>=<span class="attribute-value">&#8220;0.0dip&#8221;</span>

- <span class="attribute">android:radius</span>=<span class="attribute-value">&#8220;2.0dip&#8221;</span>

- <span class="attribute">android:topLeftRadius</span>=<span class="attribute-value">&#8220;11.0dip&#8221;</span>

- <span class="attribute">android:topRightRadius</span>=<span class="attribute-value">&#8220;11.0dip&#8221;</span> <span class="tag">/></span>

- 
- <span class="tag"><</span><span class="tag-name">stroke</span>

- <span class="attribute">android:width</span>=<span class="attribute-value">&#8220;1dp&#8221;</span>

- <span class="attribute">android:color</span>=<span class="attribute-value">&#8220;#eededede&#8221;</span> <span class="tag">/></span>

- <span class="tag"></</span><span class="tag-name">shape</span><span class="tag">></span>

- <span class="tag"></</span><span class="tag-name">item</span><span class="tag">></span>

- <span class="tag"></</span><span class="tag-name">selector</span><span class="tag">></span>

- 
- <span class="tag"></</span><span class="tag-name">inset</span><span class="tag">></span>

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

代码中可以添加:

**[java]** [view plain](http://blog.csdn.net/lan410812571/article/details/9946991#)[copy](http://blog.csdn.net/lan410812571/article/details/9946991#)[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/83373)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/83373/fork)
  <div>
    <embed id="ZeroClipboardMovie_6" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_6">
    </embed>
  </div>
</div>
- line.setLayerType(View.LAYER_TYPE_SOFTWARE, <span class="keyword">null</span>);

xml中可以添加:

**[html]** [view plain](http://blog.csdn.net/lan410812571/article/details/9946991#)[copy](http://blog.csdn.net/lan410812571/article/details/9946991#)[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/83373)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/83373/fork)
  <div>
    <embed id="ZeroClipboardMovie_7" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_7">
    </embed>
  </div>
</div>
- <span class="attribute">android:layerType</span>=<span class="attribute-value">&#8220;software&#8221;</span>

谢谢大家的参与!

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

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

转自:http://blog.csdn.net/lan410812571/article/details/9946991

💬 评论