簡體   English   中英

如何在Android的AdjustPan配置中(僅)檢測軟鍵盤是否被關閉?

[英]How to detect if the soft-keyboard is dismissed in adjustPan configuration (ONLY) in Android?

資深開發人員,我面臨着一個挑戰,我無法弄清楚該如何解決,而且我知道與我的問題相關的成千上萬種可能的問題或黑客:

但是,幾乎所有的顯示器都已連接在一起以檢查屏幕的大小,我可以解釋我為什么要找到解決方案的問題。

我已經開發混合應用程序一段時間了,但是只有一個小問題:

預習

不幸的是,在某些設備中,最后一行是部分可見的,我知道應該在jQuery中添加什么代碼才能正確顯示它:

$("input[type=number]").click(function(){
    $("#divCustomTime").css({top: -200, position:'absolute'});
});

但是,如果以不按Enter鍵的其他方式關閉鍵盤,則div的位置無法重定位到其先前的位置,並且我找不到任何方法來對其進行破解或棘手,因此我嘗試了不同的方法為了檢測關閉事件,例如:

  • 按下返回按鈕(完全不觸發)。
  • 用於檢測isAcceptingText的線程。 它根本沒有用。 我在C#中嘗試過的其中一種代碼的示例:

     [Export] [JavascriptInterface] public void KeyboardStatus() { var timer = new System.Threading.Timer(callback, (InputMethodManager)context.GetSystemService(Context.InputMethodService), TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1)); } private static void callback(object state) { if ((InputMethodManager)state.IsAcceptingText) { } else { //never happens } } 

    我從哪里得到這個主意?

    https://stackoverflow.com/a/52693953/2889347

    我還嘗試了以下方法的變體: hideSoftInputFromWindow ,但它不起作用。

您可能會問,為什么不使用adjustResize選項?

它很容易檢測到,但是我知道整個應用程序配置不正確且失真,以至於我應該使用大量CSS和JS,以便或多或少地對其進行配置以使其看起來不那么糟糕,這就是為什么我選擇了的選擇,而不是調整

另外,我想強調一點,我正在Xamarin.Android中進行開發,但我認為這可能不會影響編程語言。

有人知道如何檢測嗎? 謝謝。

你不能 不可靠。 沒有API可以告訴用戶軟鍵盤何時隱藏自身,甚至框架隱藏起來的時間。 人們嘗試過使用各種各樣的技巧來改變視圖的大小,但是它們都有誤報和誤報,並且諸如分屏之類的一些功能會完全破壞它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM