资深开发人员,我面临着一个挑战,即我无法弄清楚该如何解决,并且我知道与我的问题相关的成千上万种可能的问题或黑客入侵:
但是,几乎所有的连接器都可以检查屏幕的大小,我可以解释我为什么要找到解决方案的问题。
我已经开发混合应用程序已有一段时间了,而我只有一个小问题:
不幸的是,在某些设备中,最后一行是部分可见的,我知道我应该在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,以便或多或少将其配置为不看起来很糟糕,这就是为什么我选择 pan 而不选择 size 的原因。
此外,我想强调一点,我正在使用 Xamarin.Android 进行开发,但我认为这可能不会影响编程语言。
有人知道如何检测吗?谢谢。
答案 0 :(得分:0)
不能。不可靠。没有API可以告诉用户软键盘何时隐藏自身,甚至框架隐藏起来的时间。人们尝试过使用各种各样的技巧来改变视图的大小,但是它们都有误报和误报,并且诸如分屏之类的一些功能会完全破坏它。