美文网首页
Android输入框布局如何随键盘变化

Android输入框布局如何随键盘变化

作者: ch_9820 | 来源:发表于2017-04-24 13:37 被阅读0次

    先说需求:如图

    1.jpg

    需求如上    简单的状态栏和中间物品的展示以及底部的输入框。

    问题:一开始我用的相对布局,结果发现edittext   会被键盘所覆盖,本人也是菜鸡。开始了慢慢的解决道路。

        1.发现在Manifest中 <activity >项中添加这个属性 android:windowSoftInputMode ,具体就不介绍了,自己百度

    关键词 android:windowSoftInputMode。        !! !!!但是缺点   整体布局会压缩  或者看不到顶部   这不是我想要的。

        2.继续百度后发现有人教用 :改用在AndroidMaifest.xml中使用的stateHidden|adjustResize,其中stateHidden是为了让首次进入页面是阻止软件盘的弹出,adjustResize是压缩布局。

    用这种方法时,有一下注意事项:

    a. 布局中必须有ListView或者ScrollView。

    b. ListView或ScroolView中的属性layout_weight必须比较大。

    c. ListView或ScroolView的属性layout_height一定要设置成wrap_content.

    改了不顶用,而且底部布局还变形了。心烦。上个厕所去。

       3.继续想,要不动态设置底部的高度,百度一顿C V。 完美,实现了哈哈。哈哈哈哈,,,

    咦,测试机华为:出现了高度不对,底部布局与键盘有一个间隔。XXX 华为!!! (原因应该是用了张弘扬大神的百分比布局,减去底部状态栏)

      (http://jingyan.baidu.com/article/86f4a73e77195e37d6526998.html 百度出来的四种方案!



    最终解决方案:



    4.我经常有种感觉每当我想不通问题的时候,烟! 就是我的灵感。

    <FrameLayout width=math height=math

              <ReletiveLayout width=math height=math>

              ..................//排除除底部输入框那一坨的布局

              </RelativeLayout >

              <LinearLayout width=math height=math fitsystemwindows =true gravity= bottom>

                              <RelativeLayout >

                                ..........//底部输入框那一坨

                              </RelativeLayout>

              </LinearLayout>

    </FrameLayout>



    OK  this s all。  其实就是 fitsystemwindows =true  这个属性起了作用  ,  我这里是<FrameLayout> 分别放了2个布局,一个没有fitsystemwindows 所以他就不会改变   反之用一个布局代替原来的来进行变化。

    第一次也东西分享也不知道有没有用,不对的地方多多指教。=。=

    相关文章

      网友评论

          本文标题:Android输入框布局如何随键盘变化

          本文链接:https://www.haomeiwen.com/subject/ywxpzttx.html