Android怎么使用Shape制作单边框图-创新互联

这篇“Android怎么使用Shape制作单边框图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“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>

单边框就这样了,同理,那二边框、三边框也就简单了。

按需自取。

坑?

你以为到则里就结束了?图样图森炮!

跑一下上边思路二的代码看看效果

Android怎么使用Shape制作单边框图

神马情况, stroke 里 width 的值和 item 里 left 等的值转化为像素的比例还不一样?并且不同手机分辨率效果也不同,分辨率越高越容易出现。

当然,思路二里把 item 里 left 等的负值绝对值设置比 width 大的多一些就阔以了;另外,思路一是没这个问题的。

以上就是关于“Android怎么使用Shape制作单边框图”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。

新闻名称:Android怎么使用Shape制作单边框图-创新互联
文章位置:https://www.cdcxhl.com/article30/dphcpo.html

成都网站建设公司_创新互联,为您提供品牌网站建设移动网站建设用户体验品牌网站设计静态网站自适应网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发