EditText:今夜化了美美的裝——shape

EditText在App裏很常見,用來輸入文本,但是功能都是差不多的,可是在美化方面,總是會有各式各樣的需求,畢竟UI體驗還是很重要的。
在新版的Api23(Android6.0)或Api24裏的EditText是這個樣子的。

EditText 6.0

嗯?!僅此而已?長的有點任性啊!所以用戶又不滿足於現實了……情何以堪。
不滿足就要美化唄!
於是就是有了QQ搜索的樣式
QQ搜索框

於是趕緊仿製了一枚 <附上一個傻笑的emoji>

實現步驟:

1.在drawable文件夾下新建shape文件,這裏我命名爲shape_edit,內容如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#f2f0f2"/>
    <corners android:radius="13px"/>

</shape>


<!--corners圓角及radius半徑,color顏色-->

我們的小灰灰圓角框就完成了,(shape不光可以運用在edittext上,而且可以用在其他某些控件)。

2.在xml佈局裏添加editText控件,代碼如下

  <EditText
        android:layout_width="wrap_content"
        android:layout_height="35dp"
        android:ems="10"
        android:hint="說點什麼吧..."
        android:gravity="center|center_horizontal"
        android:id="@+id/editText2"

        android:background="@drawable/shape_edit"

        android:layout_below="@+id/editText"
        android:layout_marginTop="101dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true" />
  <!--hint隱藏文字及gravity居中顯示-->
  <!-- background背景顯示-->

嗯,上述代碼單獨顯示的那一行就是關鍵,我們在background裏引用drawable資源,然後效果達成。

輸入框

由於QQ截圖顯示的是搜索框,點擊它的話會跳轉到下一個界面,而裏面的icon和hint都會變化位置,而我添加的僅僅是edit輸入框,暫時不能變換位置,所以再顯示icon的話會很醜,不過不顯示icon也是蠻像的對吧。

另外還有其他shape樣式,這個都可以自定義的,完全由你自己設計,但是原理是差不多的。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#00ff00ff"/>
    <corners android:radius="8px"/>
    <stroke android:color="#32CD32" android:width="2px" />
</shape>


<!--圓角,透明內容,實線邊框,顏色-->

效果

透明輸入框

這是透明輸入框的樣式

另外還有登錄的卡片式輸入框,都可以只使用shape實現。

<本文原創,轉載請註明出處,實現方法不是唯一的,本文僅代表個人看法,如有錯誤或者其他建議請在評論區指正,謝謝。>

                         2016.8.11 Surine
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章