溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

android安卓屏蔽禁用系統(tǒng)輸入法,自定義軟鍵盤,解決EditText光標(biāo)問(wèn)題demo

發(fā)布時(shí)間:2020-09-23 09:33:31 來(lái)源:網(wǎng)絡(luò) 閱讀:8342 作者:careylwq 欄目:移動(dòng)開發(fā)

目前很多的輸入法都有自動(dòng)提示補(bǔ)全功能,在一些應(yīng)用場(chǎng)景里不適用,需要禁用系統(tǒng)輸入法,自定義軟鍵盤,EditText的光標(biāo)問(wèn)題是比較頭疼的,網(wǎng)上的說(shuō)法很多,然而大部分都是解決不了問(wèn)題的。以下是本人做的一個(gè)demo供網(wǎng)友參考。

直接上代碼:

xml軟鍵盤:

        <android.inputmethodservice.KeyboardView
            android:id="@+id/keyboard_view"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/white"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:keyBackground="@drawable/btn_keyboard_key"
            android:keyTextColor="@color/black"
            android:visibility="gone" />

禁用系統(tǒng)輸入法,解決EditText光標(biāo)問(wèn)題的重要代碼:

public boolean onTouch(View v, MotionEvent event)
	{
		//隱藏輸入法,顯示光標(biāo)
		EditText et=(EditText)v;
		int inType = et.getInputType(); // back up the input type
		if (sdkInt>=11) {
			Class<EditText> cls=EditText.class;
			try {
				Method setShowSoftInputOnFocus=cls.getMethod("setShowSoftInputOnFocus", boolean.class);
				setShowSoftInputOnFocus.setAccessible(false);
				setShowSoftInputOnFocus.invoke(et, false);
			} catch (NoSuchMethodException e) {
				e.printStackTrace();
			} catch (IllegalArgumentException e) {
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				e.printStackTrace();
			} catch (InvocationTargetException e) {
				e.printStackTrace();
			}
		}else {
			et.setInputType(android.text.InputType.TYPE_NULL); // disable soft input
			et.setInputType(inType);

		}
		keyboardUtil=null;
		keyboardUtil = new KeyboardUtil(act, ctx, et);
		et.onTouchEvent(event);// call native handler
		// restore input type
		keyboardUtil.showKeyboard();

		return true;
	}

android安卓屏蔽禁用系統(tǒng)輸入法,自定義軟鍵盤,解決EditText光標(biāo)問(wèn)題demo

其他代碼就不貼了,需要完整demo的請(qǐng)自行下載。

附件:http://down.51cto.com/data/2367320
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI