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

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

Android中有什么方法可以獲取設(shè)備虛擬鍵盤的高度

Android中有什么方法可以獲取設(shè)備虛擬鍵盤的高度

慕森卡 2019-12-15 11:12:38
android中有什么方法可以在運(yùn)行時(shí)獲取android設(shè)備虛擬鍵盤的高度。其實(shí)我想在鍵盤上方顯示文本框。
查看完整描述

3 回答

?
白衣染霜花

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

是的,您可以在Viewtree Observer和全局布局偵聽器的幫助下,嘗試以下提到的步驟


獲取布局的根視圖

獲取此根的Viewtree觀察器,并在此之上添加全局布局偵聽器。

現(xiàn)在,無(wú)論何時(shí)顯示軟鍵盤,Android都會(huì)重新調(diào)整屏幕大小,您將在監(jiān)聽器上收到呼叫。這就是現(xiàn)在唯一需要做的就是計(jì)算重新調(diào)整大小后根視圖與原始大小之間的高度差。如果差異大于150,則認(rèn)為這是因?yàn)殒I盤已膨脹。


以下是示例代碼


root.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){

     public void onGlobalLayout(){

           int heightDiff = root.getRootView().getHeight()- root.getHeight();

           // IF height diff is more then 150, consider keyboard as visible.  

        }

  });

問(wèn)候,Techfist



查看完整回答
反對(duì) 回復(fù) 2019-12-16
?
滄海一幻覺(jué)

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

我為此嘗試了許多建議的方法,但似乎沒(méi)有一種方法適用于Android SDL。我認(rèn)為這是因?yàn)镾DL顯示是“全屏”,還是因?yàn)樗挥凇?AbsoluteLayout”中,因此“視圖”的高度從未真正改變過(guò)。這種方法對(duì)我有用:


mRootWindow = getWindow();

mRootView = mRootWindow.getDecorView().findViewById(android.R.id.content);

mRootView.getViewTreeObserver().addOnGlobalLayoutListener(

    new ViewTreeObserver.OnGlobalLayoutListener() {

    public void onGlobalLayout(){

        Rect r = new Rect();

        View view = mRootWindow.getDecorView();

        view.getWindowVisibleDisplayFrame(r);

        // r.left, r.top, r.right, r.bottom

    }

    });



查看完整回答
反對(duì) 回復(fù) 2019-12-16
  • 3 回答
  • 0 關(guān)注
  • 405 瀏覽

添加回答

舉報(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)