在之前的文章中有提到自定义自定义方形输入框,效果图可以直接点击进去查看,但是突然设计师觉得方形不好看,灵机一动,修改成了如下这样:
当看到这个效果的时候,第一感觉是可以把textview进行一下自定义,但是一想这样岂不是不利于扩展。转念一想,这不是和edittext的效果很像吗?于是乎,翻了下edittext源码,edittext继承自textview,仔细看edittext源码发现,并没有做多少东西,所以下划线效果完全是textview可以实现的,所以灵机移动百度了下 edittext是如何实现下划线的(不是不想直接翻源码,只是sdk带的源码只有java代码部分,没有资源文件)。所以就有了如下的比较简单的实现方式。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<size
android:width="44dip"
android:height="44dip" />
<gradient
android:endColor="#464646"
android:startColor="#464646" />
</shape>
</item>
<item android:bottom="2dp">
<shape android:shape="rectangle">
<size
android:width="44dip"
android:height="44dip" />
<gradient
android:endColor="#FFFFFF"
android:startColor="#FFFFFF" />
</shape>
</item>
</layer-list>
直接设置textview的background即可,是不是很简单。也深刻的认识到源码帮助还是很大的。