zoukankan      html  css  js  c++  java
  • Android虚拟键盘会挡住一点EditText输入框的解决方法

    1、最基本的问题是从虚拟键盘弹出,输入框不会被顶上去,而是直接被输入框挡住。这个问题网上有很多的解决方法

      比如:在配置文件下的相应Activity下设置android:windowSoftInputMode="adjustResize"。

    2、后来我还遇到了个更恶心的现象,虚拟键盘会把输入框顶上去,但还是会挡住部分的输入框,大概差不多有1/5被挡住,头疼的问题。

      解决办法是:加入滚动条ScrollView。

      加入滚动条后又出现了两个问题:1、ScrollView加入在背景图外面:分辨率小的手机屏幕上会出现滚动条,这是我们所不愿意看到的。

                      2、ScrollView加入在背景图的里面:输入框会被输入法完美的顶上去,但背景图没滚动条,会被压缩。

      解决办法:在代码中动态调整,在1方法的前提下重写onWindowFocusChanged方法,代码中调整背景图的大小,使它不出现滚动条:

    背景图的高度为:手机高度分辨率-状态栏高度。

      

            Rect frame = new Rect();  
            getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);  
            // 状态栏高度  
            statusBarHeight = frame.top;
            DisplayMetrics dm = new DisplayMetrics();   
            getWindowManager().getDefaultDisplay().getMetrics(dm);   
    	linearLayout1=(LinearLayout)findViewById(R.id.linearLayout1);
    	LayoutParams params= new LayoutParams(dm.widthPixels, dm.heightPixels-statusBarHeight);
    	linearLayout1.setLayoutParams(params);    
    

      这样会导致的问题是布局xml不好调整,如果之后还要加入其他控件的话,你会发现效果会因为动态调整和静态调整联合用的带来的负面效果。

      如何只在xml中解决这个问题还有待解决,希望有人知道的可以分享出来。

    --------------------------------------- 贵有恒,何必三更起五更眠。最无益,只怕一日曝十日寒。--------------------------------------------
  • 相关阅读:
    张小龙:微信十周年总结
    天呐!!!竟还有人不知道如何将Python程序打包成exe
    Making Games with Python & Pygame 中文翻译
    turtle怎么引入背景图片
    Python少儿编程全集(一):一只小海龟(turtle库的使用)
    C/C++基础编程
    少儿编程论坛,汇集所有少儿编程资源!!!
    少儿编程:认识python中的turtle库(一)
    博客导航栏,衣渐衫衣终不悔,沉淀技术这十年(持续更新...)
    SpringBoot学习笔记【尚硅谷】
  • 原文地址:https://www.cnblogs.com/lhxfzu/p/3229526.html
Copyright © 2011-2022 走看看