日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码

發(fā)布時(shí)間:2023/12/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

做登錄或轉(zhuǎn)賬系統(tǒng)的人會(huì)碰到需要輸入密碼的情況,而且可能會(huì)要求有時(shí)明文顯示,有時(shí)密文顯示。如何通過代碼來控制呢?

下面的xml定義了一個(gè)輸入框EditText,默認(rèn)是系統(tǒng)鍵盤:

android:id="@+id/inputview"

style="@style/Style_Input"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:maxLength="16"

android:padding="10dp"

android:singleLine="true"

android:textCursorDrawable="@null"

android:visibility="visible" >

通過下面的代碼改變輸入類型:

@SuppressLint("InlinedApi")

public void setValueType(ValueType valueType) {

this.valueType = valueType;

switch(valueType) {

case EEditPwdNum:

if (showPwd) {

// 顯示密碼

inputView.setInputType(InputType.TYPE_CLASS_NUMBER);

inputView.setTransformationMethod(android.text.method.HideReturnsTransformationMethod.getInstance()); //數(shù)字

} else {

// 隱藏密碼 3.0版才開始支持

if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {

inputView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); //字符

} else {

inputView.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);

//setTransformationMethod 則可以支持將輸入的字符轉(zhuǎn)換,包括清除換行符、轉(zhuǎn)換為掩碼

inputView.setTransformationMethod(android.text.method.PasswordTransformationMethod.getInstance());

}

}

break;

case EEditPwdTxt:

if (showPwd) {

// 顯示密碼

inputView.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); //字符

} else {

// 隱藏密碼

inputView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); //字符

}

break;

case EText:

default:

break;

}

}

這里需要注意的是,數(shù)字密碼到android3.0(android.os.Build.VERSION_CODES.HONEYCOMB)才獲得支持,對(duì)于3.0以下的版本,通過代碼改變的話,還是需要用字符密碼。

對(duì)于數(shù)字密碼還有一種方法是設(shè)置為字符密碼,但是對(duì)鍵盤顯示進(jìn)行過濾,只顯示數(shù)字。如:

String digits = "0123456789";

DigitsKeyListener digitsKeyListener = DigitsKeyListener.getInstance(digits);

inputview.setKeyListener(digitsKeyListener);

還可以通過代碼對(duì)EditText做更多的控制。

總結(jié)

以上是生活随笔為你收集整理的android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。