2016-07-14 59 views
15

如何创建粘贴页脚,当软键盘弹出时不会被移动到视图中?如何保持底部导航栏不被推上显示的键盘

下面是我当前的设置和我想要实现的图像示例。 我有一个滚动视图,其中包含我的页面内容和一个与父级底部对齐的线性布局,该底部充当导航栏。

Example of what i want it to do

问题是,当键盘弹出窗口,它推动我的整个观点了,包括底部的导航部分。 我不想禁用自动推动视图(通过设置android:windowSoftInputMode="adjustPan"),而是排除单个元素被推高,我的底部导航栏。

我测试了windowSoftInputMode修复,但它隐藏了我的页面内容在键盘后面。有没有办法让它继续推动滚动视图,但不是底部导航?我的另一种选择是在键盘上设置visibility:gone,然后在键盘上将其重新显示,但这看起来过于复杂,并不总是可靠的。

如果有人有任何例子或建议,我全部耳朵。谢谢。

回答

7

无论是将其添加为滚动条的XML属性

机器人:isScrollContainer = “假”

或舱单

机器人添加这个在活动的标签:windowSoftInputMode =“adjustPan “

+0

你应该使用的意见,而在你的回答中提问。 – Vucko

+0

在清单中不使用adjustPan很重要。 –

1

I试图对SO和只增加机器人发现了很多的解决方案:windowSoftInputMode =“adjustNothing”进入清单的活动为我工作:

<activity 
    android:name=".MainActivity" 
    android:windowSoftInputMode="adjustNothing"> 

相关布局:

<RelativeLayout 
    ... 
     <android.support.v4.widget.NestedScrollView 
      ... 
     </android.support.v4.widget.NestedScrollView> 
     <android.support.design.widget.BottomNavigationView 
      ... 
      design:menu="@menu/navigation"/> 
    </RelativeLayout>