Android自定義EditText:一款簡單&實用的SuperEditText(一鍵刪除&自定義樣式)


前言

  • Android開發(fā)中,EditText的使用 非常常見
  • 本文將帶來一款 附帶一鍵刪除功能 & 自定義樣式豐富SuperEditText控件的使用,希望你們會喜歡。
效果圖

已在Github開源:Super_EditText,歡迎 Star !


目錄

示意圖

1. 簡介

一款 自定義樣式豐富 & 附帶一鍵刪除功能SuperEditText控件

已在Github開源:Super_EditText,歡迎 Star !

效果圖

2. 功能介紹

2.1 需求場景

對于 EditText來說,一般的需求有:

  • 方便用戶因出現(xiàn)輸入錯誤而進行2次輸入
  • 標識用戶正在填寫項
  • 根據(jù)具體場景增加一定的UI元素

2.2 功能需求

根據(jù)需求場景,得出EditText需要具備的功能如下:

  • 一鍵刪除
  • 豐富的自定義樣式:左側(cè)圖標、刪除功能圖標、分割線 & 光標 樣式變化。具體如下圖:
示意圖

注:該樣式的設(shè)置是系統(tǒng)自帶的 API 所不具備的

  • 功能列表
示意圖

2.3 功能示意

效果圖

3. 特點

對比市面上EditText控件,該控件Super_EditText 的特點是:

3.1 功能實用

  • 一鍵刪除功能 在需求中非常常見,現(xiàn)將其封裝后更加方便使用
  • 可自定義樣式程度高(比自帶的強大 & 方便),不復(fù)雜卻能滿足一般的EditText使用需求

可自定義樣式如下:(注:該樣式的設(shè)置是系統(tǒng)自帶的 API 所不具備的)

示意圖

3.2 使用簡單

僅需要簡單的xml屬性配置

下面1節(jié)會詳細介紹其使用方法

3.3 二次開發(fā)成本低

所以,在其上做二次開發(fā) & 定制化成本非常低。


4. 具體使用

該款Super_EditText使用非常簡單,僅需2步:

步驟1:導(dǎo)入控件庫

主要有 Gradle & Maven 2種方式:

  • 方式1:Gradle引入依賴
    build.Gradle
dependencies {
    compile 'com.carson_ho:Super_EditText:1.0.0'
}
  • 方式2:Maven引入依賴
    pom.xml
<dependency>
  <groupId>com.carson_ho</groupId>
  <artifactId>Super_EditText</artifactId>
  <version>1.0.0</version>
  <type>pom</type>
</dependency>

步驟2:設(shè)置動畫屬性

  • 屬性說明
示意圖
  • 具體屬性設(shè)置
示意圖
  • 使用示例
    XML文件中進行設(shè)置
    activity_main.xml
<scut.carson_ho.diy_view.SuperEditText
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        // 設(shè)置左側(cè)圖標
        app:ic_left_click="@drawable/ic_left_click"
        app:ic_left_unclick="@drawable/ic_left_unclick"
        app:left_x="0"
        app:left_y="0"
        app:left_width="60"
        app:left_height="60"

        // 設(shè)置刪除圖標
        app:ic_delete="@drawable/delete"
        app:delete_x="0"
        app:delete_y="0"
        app:delete_width="80"
        app:delete_height="80"

        // 設(shè)置分割線
        app:lineColor_click="@color/colorfocus"
        app:lineColor_unclick="@color/colorDeafult"
        app:linePosition="1"

        // 設(shè)置光標
        app:cursor="@drawable/cursortest"

         />

cursortest.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="@color/colorfocus" />
    <size android:width="1dp" />

</shape>

5. 完整Demo地址

Carson_Ho的Github地址:Super_EditText

效果圖


6. 源碼解析

具體請看文章:Android自定義View:手把手教你做一款簡單實用的SuperEditText(一鍵刪除&自定義樣式)


7. 貢獻代碼

  • 希望你們能和我一起完善這款簡單 & 好用的SuperEditText控件,具體請看:貢獻代碼說明
  • 關(guān)于該開源項目的意見 & 建議可在Issue上提出。歡迎 Star !

8. 總結(jié)

  • 相信你一定會喜歡上 這款簡單 & 好用的SuperEditText控件

已在Github上開源:Super_EditText,歡迎 Star !

效果圖

歡迎關(guān)注Carson_Ho的簡書

不定期分享關(guān)于安卓開發(fā)的干貨,追求短、平、快,但卻不缺深度。


請點贊!因為你的鼓勵是我寫作的最大動力!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容