當前位置:首頁 » 安卓系統 » android獲取軟鍵盤的高度

android獲取軟鍵盤的高度

發布時間: 2022-08-31 05:14:53

Ⅰ 如何在Android中判斷軟鍵盤是否彈出或隱藏

java">Android中判斷軟鍵盤是否彈出或隱藏可以藉助軟鍵盤顯示和隱藏時,對主窗口進行了重新布局這個特性來進行偵聽。如果我們設置的模式為壓縮模式,那麼我們可以對布局的onSizeChanged函數進行跟蹤,如果為平移模式,那麼該函數可能不會被調用。
假設跟布局為線性布局,模式為壓縮模式,我們寫一個例子,當輸入法彈出時隱藏某個view,輸入法隱藏時顯示某個view。
{
;
{
voidOnResize(intw,inth,intoldw,intoldh);
}
publicvoidsetOnResizeListener(OnResizeListenerl){
mListener=l;
}
publicResizeLayout(Contextcontext,AttributeSetattrs){
super(context,attrs);
}
@Override
protectedvoidonSizeChanged(intw,inth,intoldw,intoldh){super.onSizeChanged(w,h,oldw,oldh);
if(mListener!=null){
mListener.OnResize(w,h,oldw,oldh);
}
}
}

Ⅱ 如何限制彈出的軟鍵盤的高度android

用搜狗輸入法的話可以調整鍵盤高度的,其他輸入法應該也可以。

Ⅲ js怎麼控制虛擬鍵盤彈出和收起

js 移動端關於頁面布局,如果底部有position:fixed的盒子,又有input,當軟鍵盤彈出收起都會影響頁面布局。這時候Android可以監聽resize事件,代碼如下,而ios沒有相關事件。
var winHeight = $(window).height(); //獲取當前頁面高度$(window).resize(function(){ var thisHeight=$(this).height(); if(winHeight - thisHeight >50){ //當軟鍵盤彈出,在這裡面操作 }else{ //當軟鍵盤收起,在此處操作 }
});

/**
* 解決ios鍵盤彈出遮擋input
*/
function iosInput() {
if(isIos()){
$('.chart-footer').css('position','absolute');
//解決第三方軟鍵盤喚起時底部input輸入框被遮擋問題
var bfscrolltop = document.body.scrollTop;//獲取軟鍵盤喚起前瀏覽器滾動部分的高度
$(".chart-input").focus(function(){//在這里『input.inputframe』是我的底部輸入欄的輸入框,當它獲取焦點時觸發事件
interval = setInterval(function(){//設置一個計時器,時間設置與軟鍵盤彈出所需時間相近
document.body.scrollTop = document.body.scrollHeight;//獲取焦點後將瀏覽器內所有內容高度賦給瀏覽器滾動部分高度
},100)
}).blur(function(){//設定輸入框失去焦點時的事件
clearInterval(interval);//清除計時器
document.body.scrollTop = bfscrolltop;
//將軟鍵盤喚起前的瀏覽器滾動部分高度重新賦給改變後的高度
});
}
}
iosInput();

Ⅳ android開發:軟鍵盤顯示的時候把布局往上頂

可以在清單文件AndroidManifest.xml中設定activty的windowInputMode屬性為adjustPan即可

android:windowSoftInputMode屬性影響活動的主窗口如何與包含屏幕上的軟鍵盤窗口交互。這個屬性的設置將會影響兩件事情:

1>軟鍵盤的狀態——是否它是隱藏或顯示——當活動(Activity)成為用戶關注的焦點。

2>活動的主窗口調整——是否減少活動主窗口大小以便騰出空間放軟鍵盤或是否當活動窗口的部分被軟鍵盤覆蓋時它的內容的當前焦點是可見的。


可以設定的值如下所示


可以使用|與符號結合多個值使用

Ⅳ 如何用 js 獲取虛擬鍵盤高度

無法獲取,瀏覽器沒有提供介面,但你可以嘗試用 window.onresize 事件來推斷,頁面載入完畢就獲取窗口高度,存儲到 sessionStorage 裡面,當 window 在 resize 時,重新獲取窗口高度,再對比之前的,他們的差值就是鍵盤佔用去的高度了。

Ⅵ 求教android判斷軟鍵盤是否顯示

判斷原理: 我們activity的頂級View是DecorView,獲取到DecorView並取到他的高度:

privatebooleanisSoftShowing(){
//獲取當前屏幕內容的高度
intscreenHeight=getWindow().getDecorView().getHeight();
//獲取View可見區域的bottom
Rectrect=newRect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);

returnscreenHeight-rect.bottom!=0;
}

Ⅶ android 自定義View在彈出的軟鍵盤之上,怎麼做

通過singleTouchView.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {...}計算鍵盤高度,有了鍵盤高度,就可以設置那一行的位置了.

Ⅷ 如何獲取android的軟鍵盤的顯示狀態

最近項目中有一個編輯框,下面是個ListView。在觸發編輯框彈出軟鍵盤後,ListView還能滑動,並且ListView的item還能響應單擊。這樣的體驗效果很不好。於是便想在滑動或單擊item時判斷鍵盤是否彈出,若彈出,則把它隱藏。
網上一搜,發現Android並沒有直接提供軟鍵盤的彈出與隱藏判斷,一些解決方案諸如判斷父控制項的高度或者判斷

12

if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) 隱藏鍵盤;

的方法並沒有用,於是便從官方文檔著手。
發現InputMethodManager有一個方法isActive(View view):如果view是輸入法的活動view,則返回true。也就是說,如果是由view觸發彈出軟鍵盤,則返回true。哇,那問題就好辦了

12

if(isActive(edittext)) 隱藏鍵盤

接著讓另一個view強制獲取焦點,這樣isActivite(ediitext)就為false.
這個方法比較簡單,代碼比較短,也很好理解,希望能夠幫助有需要的人,也不枉費我調試幾個小時的功夫。
附上代碼:

12345678

InputMethodManager inputMethodManager = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);<br>private boolean hideKeyboard(){ if(inputMethodManager.isActive(searchEditText)){<br>//因為是在fragment下,所以用了getView()獲取view,也可以用findViewById()來獲取父控制項 getView().requestFocus();//使其它view獲取焦點.這里因為是在fragment下,所以便用了getView(),可以指定任意其它view inputMethodManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); return true; } return false; }

ps:如果是手動彈出鍵盤,getActivity().getCurrentFocus()改成searchEditText.並且手動彈出的鍵盤isActivie()失效,可用標記來判斷.

Ⅸ 如何在不同的手機上獲得軟鍵盤的高度

沒有特別好的辦法 只有root後 卸載關於鍵盤的數據包 那樣你在不使用鍵盤的時候會很麻煩 或者將你手機輸入法調成全屏手寫 這樣不就可以了嗎

Ⅹ android 怎麼判斷軟鍵盤是否打開

android判斷軟鍵盤打開的方式,可以計算主界面高度來判定,當判斷主界面的高度小於手機的高度,就可以判斷軟鍵盤打開了。

熱點內容
安卓手機請輸入密碼在哪裡 發布:2024-10-18 14:13:28 瀏覽:645
設計編譯程序注意的問題 發布:2024-10-18 14:08:43 瀏覽:254
傳智播客android視頻 發布:2024-10-18 14:04:42 瀏覽:904
手機版安卓吃雞哪個好 發布:2024-10-18 14:01:40 瀏覽:491
編程自學入門教程 發布:2024-10-18 13:50:58 瀏覽:141
伊迪阿明訪問中國 發布:2024-10-18 13:49:54 瀏覽:10
人三琳外傳腳本 發布:2024-10-18 13:38:16 瀏覽:839
電腦發件箱伺服器錯誤怎麼弄 發布:2024-10-18 13:30:36 瀏覽:914
evm部署solc編譯文件 發布:2024-10-18 13:29:47 瀏覽:835
android發送at指令 發布:2024-10-18 13:14:18 瀏覽:659