这篇“Android怎么使用Shape制作单边框图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android怎么使用Shape制作单边框图”文章吧。
效果很简单:
就以上图为例介绍,只有上边框,边框红色、宽1dp,其余为白色。
思路一
两层画布叠加:底层红色;上层白色;
上层白色画布下移1dp。
代码实现:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--下层画布,红色--> <item> <shape> <solid android:color="#f10606" /> </shape> </item> <!--下层画布,白色,向下移1dp--> <item android:top="1dp"> <shape> <solid android:color="#ffffff" /> </shape> </item> </layer-list>
其中 <item>
标签的 left
、 top
、 right
、 bottom
属性可以理解为 view
的 marginXX
,这样接下来的思路二也就顺理成章了。
思路二
margin有正值,也有负值,所以...
两层画布:底层全部白色;上层只有红色边框,边框宽度1dp;
上层红色边框分别设置左、右、下margin为-1dp(这里只要负值大于边框宽度即可,并且必须大于边框宽度)
代码实现:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--下层画布,全白色--> <item> <shape> <solid android:color="#ffffff" /> </shape> </item> <!--上层画布,红色边框,宽度1dp;左、右、下设置margin--> <item android:bottom="-1dp" android:left="-1dp" android:right="-1dp" android:top="0dp"> <shape> <stroke android:width="1dp" android:color="#f10606" /> </shape> </item> </layer-list>
单边框就这样了,同理,那二边框、三边框也就简单了。
按需自取。
坑?
你以为到则里就结束了?图样图森炮!
跑一下上边思路二的代码看看效果
神马情况, stroke
里 width
的值和 item
里 left
等的值转化为像素的比例还不一样?并且不同手机分辨率效果也不同,分辨率越高越容易出现。
当然,思路二里把 item
里 left
等的负值绝对值设置比 width
大的多一些就阔以了;另外,思路一是没这个问题的。
以上就是关于“Android怎么使用Shape制作单边框图”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。