類似微信的文字輸入框
阿新 • • 發佈:2018-11-15
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
本文內容比較簡單,給大家介紹一下微信的文字輸入框是如何實現的,其實那只是個普通的文字框設了一個特殊的背景而已。具體微信怎麼實現的,大家可以反編譯下,這裡介紹下如何實現這個背景。
可以先看下文章末尾的效果圖,裡面的文字框是不是和微信的比較像啊,下面說下實現思想:
首先,這種效果用.9圖我不知道是否可以做出來。如果不用.9圖的話,那就只能用drawable來寫,這種drawable有點複雜,可以採用LayerList來實現,我的思想如下:
分三層實現,這裡假設activity的背景是白色,第一層也(就是最底層)是綠色;第二次是白色,但是距離底部有一段小偏移,目的是為了做出文字框兩邊的小勾;第三層也是白色,但是它距離底部和左右兩邊都有一定距離。通過三層配合,即可實現這種效果,巧妙之處大家可以細細體會。xml如下:
<?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同時用在各種不同顏色的背景下。