zoukankan      html  css  js  c++  java
  • UWP webview 键盘bug,回退页面,键盘会弹一下。

              最新项目发现一个关于Webview的键盘bug。

              具体问题:当点击Webview 网页里面input之类的东东,输入键盘会弹出来,这个时候,按回退键,键盘会收起来,再按回退键,界面会退到前一个页面,但你会发现键盘会弹出来一下,然后消失。

              这个应该是win10的bug。
              解决方案:

              1.在页面上加一个隐藏的textbox

    <TextBox x:Name="hidetextBox" PreventKeyboardDisplayOnProgrammaticFocus="True" Width="0" Height="0" MinHeight="0" MinWidth="0"/>
    

           2.InputPaneHiding 事件中设置把焦点给 hidetextBox,因为设置PreventKeyboardDisplayOnProgrammaticFocus为true,所以放心,键盘不会弹出来的

     var inputPane = InputPane.GetForCurrentView();
    
     inputPane.Hiding += OnInputPaneHiding;
    
    
          private void OnInputPaneHiding(InputPane sender, InputPaneVisibilityEventArgs args)
            {
                //因为webview里面的input,输入键盘打开了,
                //如果按退后键,关闭键盘,再按退后键,回退页面,这个时候页面会弹一下键盘
                //为了防止这种情况,增加一个不会弹键盘的Textbox,让它获得焦点
                //注意设置PreventKeyboardDisplayOnProgrammaticFocus="True"
                //这个应该是Win10的bug
                hidetextBox.Focus(FocusState.Programmatic);
            }
    

      这只是我想到一个workaround,希望微软早日修复。。( ╯□╰ )

     最后放上sample 地址:http://files.cnblogs.com/files/FaDeKongJian/UWPWebviewBugFixedSample.zip

  • 相关阅读:
    mysql 索引
    mysql binlog相关知识
    分布式系统日志
    学习路线
    分布式学习
    工具
    关于java面试
    mysql悲观锁总结和实践(转)
    app技术博客整理
    Java编程一些经验
  • 原文地址:https://www.cnblogs.com/FaDeKongJian/p/5527119.html
Copyright © 2011-2022 走看看