博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android实现边框
阅读量:7082 次
发布时间:2019-06-28

本文共 1130 字,大约阅读时间需要 3 分钟。

  hot3.png

我看到京东的客户端,在登录页面账号和密码上有边框。自己也想加这个效果。但是发现android里并没有border或类似的属性。

有以下几种解决方案。

1.嵌套一层,利用内容的margin或者padding的留白加容器的背景来实现边框效果。

其实这个道理很简单,很早的时候那时候我们还用table做html页面布局的时候,我们就是使用cellspacing来实现table的边框的。现在我们也利用同样的想法来实现。

当然内部的容器也是需要有颜色的,如果想实现内部透明的效果则需要将内部View的背景色跟背景的颜色保持一致,这是不太方便的地方。

2图片。

在Android中,给一个控件(或View)设置背景主要是通过background:xxx属性来完成。background的参数一般来说是一个drawable资源。 drawable可以是一张普通的图片,也可以是9 patch图片,还可以是一个xml文件。 给控件设置边框最简单的方式就是把background设置成你预先设计好的带圆角和边框的背景图。但是这种方法的缺点是没有灵活性,不同大小的view要不同尺寸的图片,还要去适应不同分辨率的设备。

3使用9-patch(九宫格)的背景图片来实现边框效果。

做一个有边框的9-patch图片,作为要有边框的View的背景图即可。这样你还可以控制哪边有边框,哪边无边框,这种方法是比较好的一种方法,而且没有多余的View嵌套。另外你还可以实现圆角边框等效果。

4利用shape来实现边框效果。

当然你可以使用shape中的stroke来实现border的效果。

/res/drawable/filename.xml

  

只要引用这个shape作为背景图片即可。

5.layer-list实现自由边框

当前版本的Android SDK并没有给stroke提供bottom、left、right之类的属性,也就是说你无法通过它来让长方形的边框少于4条。于是有人想出了这个方法。

      
        
            
            
        
        
            
            

在第二个item中定义的top,left...就是对应的边框,不设置即没有边框。

转载于:https://my.oschina.net/qii/blog/222700

你可能感兴趣的文章
XAMPP + Xdebug+Zend Studio
查看>>
[PHP] - Apache + PHP 环境搭建
查看>>
OAF 通过个性化 在标准事件上添加验证
查看>>
[.net 面向对象编程基础] (9) 类和类的实例
查看>>
语法面试等题目汇总
查看>>
Duilib技巧:背景图片平铺
查看>>
【转】Android出现“Read-only file system”解决办法
查看>>
基于jQuery左侧大图右侧小图切换代码
查看>>
机器学习:更多的数据总是优于更好的算法吗?
查看>>
有几个开源的字比较工具
查看>>
开源课堂网址
查看>>
Python 迭代器 & __iter__方法
查看>>
Machine Learning - XI. Machine Learning System Design机器学习系统的设计(Week 6)
查看>>
Fragment 和 FragmentActivity的使用
查看>>
matlab在图片上画框
查看>>
随着通信和编程,它是一门艺术系列6(技术的情况)
查看>>
executeBatch()相关操作汇总
查看>>
注册表-禁用与解开注册表5种方法
查看>>
spring.net aop 讲解
查看>>
java它们的定义jar套餐读Excel(这包括2003和2007)数据,和实例
查看>>