开发中遇到单/多边框的UI,简单的可以自己写shape图,复杂的一般都让设计配合制作9patch图了。
今天不说需要切图的情况,只聊简单的单/多边框,主要是实现思路。
效果很简单:
就以上图为例介绍,只有上边框,边框红色、宽1dp,其余为白色。
思路一
代码实现:
<&#63;xml version="1.0" encoding="utf-8"&#63;>
其中
标签的 left
、 top
、 right
、 bottom
属性可以理解为 view
的 marginXX
,这样接下来的思路二也就顺理成章了。
思路二
margin有正值,也有负值,所以...
代码实现:
<&#63;xml version="1.0" encoding="utf-8"&#63;>
单边框就这样了,同理,那二边框、三边框也就简单了。
按需自取。
坑?
你以为到则里就结束了?图样图森炮!
跑一下上边思路二的代码看看效果
神马情况, stroke
里 width
的值和 item
里 left
等的值转化为像素的比例还不一样?并且不同手机分辨率效果也不同,分辨率越高越容易出现。
当然,思路二里把 item
里 left
等的负值绝对值设置比 width
大的多一些就阔以了;另外,思路一是没这个问题的。
至于原因嘛,太晚了,睡一觉再研究吧。
更多shape使用请移步这里:
android shape的使用详解以及常用效果(渐变色、分割线、边框、半透明阴影效果等)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。