第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

隱藏鍵盤(pán)時(shí)停止關(guān)注EditText

隱藏鍵盤(pán)時(shí)停止關(guān)注EditText

幕布斯6054654 2019-04-18 15:11:40
我來(lái)自iOS開(kāi)發(fā)和Android應(yīng)用程序制作的新功能,在Android中看起來(lái)很奇怪,為什么EditText在鍵盤(pán)被隱藏時(shí)保持專(zhuān)注?我試圖在我的EditText上設(shè)置一個(gè)OnFocusChangeListener,但是當(dāng)鍵盤(pán)隱藏時(shí),這不起作用,不調(diào)用監(jiān)聽(tīng)器。我也嘗試使用onChangeListener檢測(cè)鍵盤(pán)隱藏,但它不起作用..(顯然只有硬鍵盤(pán))。        @Override         public void onFocusChange(View v, boolean hasFocus) {             // not called when keyboard hides         }     });我一直在尋找一段時(shí)間,我只找到了在首次發(fā)布時(shí)停止焦點(diǎn)的答案,但這不是我想要的......謝謝
查看完整描述

6 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

試試這個(gè):


this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);


查看完整回答
反對(duì) 回復(fù) 2019-05-15
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

要捕獲鍵盤(pán)的打開(kāi)/關(guān)閉事件,請(qǐng)使用以下代碼:


    //...

    private int layoutSize = 0;

    private boolean isKeyboardVisible = false;

    //...

    @Override

    public void onCreate(Bundle savedInstanceState) {

        setKeyboardOpenListener();

    }

    //...

    private void setKeyboardOpenListener() {

            View activityRootView = findViewById(android.R.id.content);

            activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(() -> {

                if (activityRootView.getHeight() + Util.getStatusBarHeight(this) >= layoutSize) {

                    layoutSize = activityRootView.getHeight();

                    if (isKeyboardVisible) {

                        isKeyboardVisible = false;

                        onKeyboardClose();

                    }

                } else {

                    if (!isKeyboardVisible) {

                        isKeyboardVisible = true;

                        onKeyboardOpen();

                    }

                }

            });

        }

    //...

    public static int getStatusBarHeight(Context context) {

            int result = 0;

            int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");

            if (resourceId > 0) {

                result = context.getResources().getDimensionPixelSize(resourceId);

            }

            return result;

        }


查看完整回答
反對(duì) 回復(fù) 2019-05-15
?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊

您可以簡(jiǎn)單地使用此代碼,您的重點(diǎn)將會(huì)消失

editText.clearFocus();


查看完整回答
反對(duì) 回復(fù) 2019-05-15
?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

最近我用一個(gè)好的庫(kù)解決了這個(gè)問(wèn)題。它處理鍵盤(pán)可見(jiàn)性事件。

將其添加到您的應(yīng)用程序級(jí)Gradle文件。

dependencies {implementation'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.3.0'}

啟用鍵盤(pán)事件:

KeyboardVisibilityEvent.setEventListener(
    getActivity(),
    new KeyboardVisibilityEventListener() {
        @Override
        public void onVisibilityChanged(boolean isOpen) {
            if (isOpen)
                  //Keyboard is showing.
            else
               yourEditText.clearFocus()
               yourEditText.setCursorVisible(false) //Only if the cursor keeps blinking else no need use it.
                 //Keyboard is now closed.
        }
    });

遺憾的是,沒(méi)有“正確”的方法來(lái)處理鍵盤(pán)可見(jiàn)性事件。你得到的只是黑客來(lái)檢測(cè)它。


查看完整回答
反對(duì) 回復(fù) 2019-05-15
?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

使用editText.clearFocus()和editText.setCursorVisible(false)兩種方法,它可能會(huì)幫助你。


查看完整回答
反對(duì) 回復(fù) 2019-05-15
  • 6 回答
  • 0 關(guān)注
  • 548 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)