类似微信的文本输入框
2015-08-08 16:00
183 查看
转载自:http://code.qtuba.com/article-17008.html
本文内容比较简单,给大家介绍一下微信的文本输入框是如何实现的,其实那只是个普通的文本框设了一个特殊的背景而已。具体微信怎么实现的,大家可以反编译下,这里介绍下如何实现这个背景。
可以先看下文章末尾的效果图,里面的文本框是不是和微信的比较像啊,下面说下实现思想:
首先,这种效果用.9图我不知道是否可以做出来。如果不用.9图的话,那就只能用drawable来写,这种drawable有点复杂,可以采用LayerList来实现,我的思想如下:
分三层实现,这里假设activity的背景是白色,第一层也(就是最底层)是绿色;第二次是白色,但是距离底部有一段小偏移,目的是为了做出文本框两边的小勾;第三层也是白色,但是它距离底部和左右两边都有一定距离。通过三层配合,即可实现这种效果,巧妙之处大家可以细细体会。xml如下:
[html] view
plaincopy
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#0ac39e" />
</shape>
</item>
<item android:bottom="6dp">
<shape android:shape="rectangle" >
<solid android:color="#ffffff" />
</shape>
</item>
<item
android:bottom="1dp"
android:left="1dp"
android:right="1dp">
<shape android:shape="rectangle" >
<solid android:color="#ffffff" />
</shape>
</item>
</layer-list>
然后,将xml设置为文本框的背景即可。要注意的是,这种方式没法一个xml drawable同时用在各种不同颜色的背景下。
我的修收:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#4fc1e9" />
</shape>
</item>
<!-- <item android:bottom="10dp">
<shape android:shape="oval" >
<solid android:color="#4fc1e9" />
</shape>
</item> -->
<item
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp">
<shape android:shape="rectangle" >
<solid android:color="@android:color/white" />
<corners android:radius="5dp"/>
</shape>
</item>
</layer-list>
效果如下:
本文内容比较简单,给大家介绍一下微信的文本输入框是如何实现的,其实那只是个普通的文本框设了一个特殊的背景而已。具体微信怎么实现的,大家可以反编译下,这里介绍下如何实现这个背景。
可以先看下文章末尾的效果图,里面的文本框是不是和微信的比较像啊,下面说下实现思想:
首先,这种效果用.9图我不知道是否可以做出来。如果不用.9图的话,那就只能用drawable来写,这种drawable有点复杂,可以采用LayerList来实现,我的思想如下:
分三层实现,这里假设activity的背景是白色,第一层也(就是最底层)是绿色;第二次是白色,但是距离底部有一段小偏移,目的是为了做出文本框两边的小勾;第三层也是白色,但是它距离底部和左右两边都有一定距离。通过三层配合,即可实现这种效果,巧妙之处大家可以细细体会。xml如下:
[html] view
plaincopy
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#0ac39e" />
</shape>
</item>
<item android:bottom="6dp">
<shape android:shape="rectangle" >
<solid android:color="#ffffff" />
</shape>
</item>
<item
android:bottom="1dp"
android:left="1dp"
android:right="1dp">
<shape android:shape="rectangle" >
<solid android:color="#ffffff" />
</shape>
</item>
</layer-list>
然后,将xml设置为文本框的背景即可。要注意的是,这种方式没法一个xml drawable同时用在各种不同颜色的背景下。
我的修收:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#4fc1e9" />
</shape>
</item>
<!-- <item android:bottom="10dp">
<shape android:shape="oval" >
<solid android:color="#4fc1e9" />
</shape>
</item> -->
<item
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp">
<shape android:shape="rectangle" >
<solid android:color="@android:color/white" />
<corners android:radius="5dp"/>
</shape>
</item>
</layer-list>
效果如下:
相关文章推荐
- 微信后台开发----本地调试
- 该公众号暂时无法提供服务请稍后再试
- 微信红包要收税 到底关我卵事?
- 微信本地调试、ngrok、tunnel
- 微信公众开发的准备
- 如何抓微信的请求
- 关于微信开发的一些总结(JAVA开发)
- 如何抓微信的请求
- 微信高级接口获取用户基本信息
- iOS开发 - 微信扫描二维码登录网页的原理
- android 微信支付成功,未返回回调页面
- 微信开放平台,公众号第三方平台接入
- PHP微信支付开发
- 微信公众平台多客服
- WP&Win10仿微信消息框代码分享
- WP&Win10仿微信消息框代码分享
- 由一个小程序引发对 size_type类型的思考
- 微信开放JS SDK,这场web巨变意味着什么?
- 微信开发-接入说明
- 微信公众号接入第三方管理平台和创建微官网