**位址如下:####前言
在android開發中,我們經常會遇到手機號,銀行卡號,稅號等長串數字或字母,為了視覺上的簡潔化,需要4個一組分組顯示,今天就講講這個功能的實現和使用。
今天涉及的內容有:
原理分析
小寫轉大寫的類uppercasetransform
封裝類credittext的介紹和使用
專案結構圖和效果圖
#####一. 原理分析
鑑於要實現四字分隔的情況,那麼就需要監聽 edittext 的輸入過程,即需要實現 textwatcher 介面,然後在監聽輸入過程中去改變需要顯示的內容。
在這裡我們封裝了乙個credittext類,其內部有乙個
cardwatcher實現textwatcher介面,並實現4字一組的主要邏輯
#####二. 小寫轉大寫的類uppercasetransform
一般卡號可能是純數字,也可能是數字和字母組合,當涉及到字母的時候,一般字母都是大寫的,那麼為了方便使用者輸入,我們需要乙個將字母小寫轉大寫的類uppercasetransform,現在給出uppercasetransform**:
//首先是小寫轉大寫的方法
public class uppercasetransform extends replacementtransformationmethod ;
return aa;
}@override
protected char getreplacement() ;
return cc;}}
#####三. 封裝類credittext的介紹和使用
首先涉及到小寫字母轉大寫的設定:
//設定小寫轉換大寫
medttest.settransformationmethod(new uppercasetransform());
若小獲取credittext中輸入資料,你可以這樣:
string text=medttest.getdifferstring();
下面給出credittext在mainactivity中的使用範例:
public class mainactivity extends baseactivity
@override
public void initdata()
@override
public void setlistener()
@override
public void onclick(view v)
}private void showshort(string msg)
@override
protected void ondestroy()
}
mainactivity對應的activity_main.xml**如下:
<?xml version="1.0" encoding="utf-8"?>
其中最為重要的是,你一定要設定 「android:maxlength=「24」」屬性,不然會沒有效果。
#####四. 專案結構圖和效果圖
專案結構圖
效果圖
手機號,銀行卡號等自動分組顯示的輸入框
**位址如下:
判斷身份證 銀行卡 手機號等
判斷手機號 bool checkphone nsstring phonenumber 手機號碼 13 0 9 14 5,7 15 0,1,2,3,5,6,7,8,9 17 6,7,8 18 0 9 170 0 9 移動號段 134,135,136,137,138,139,150,151,152,15...
手機號4位顯示空格,銀行卡每4位顯示空格
開發有時候會遇到輸入手機號和銀行卡號,按照每4位顯示乙個空格的需求,方便使用者閱讀,如果是純展示,就很容易實現,如果是一邊輸入一邊展示則有點難度 有人用兩個input實現,乙個負責輸入資料,但是透明看不見,另外乙個展示在介面上,變相的解決了這個需求 手機上可呼叫數字鍵盤 本次取巧寫個demo,只用乙...
身份證 手機號 郵箱 銀行卡 企業稅號等正則校驗
身份證號正則校驗 前6位 第一位1到9範圍 後5位 數字 1 9 d 年份4位 開頭兩位 18 or 19 or 20 後面2位數字 18 19 20 d 月份2位 1開頭 第二位為0到2 或者 0開頭 第二位1到9 1 0 2 0 1 9 日期2位 第一位0到2的範圍,第二位1到9的返回 加上10...