单击编辑文本时推送内容

Nei*_*eil 57 android

我到处寻找解决我的问题但找不到答案的方法.这是问题所在.

我的布局看起来像这样

图像在这里

现在当我点击编辑文本(搜索栏)时,我希望发生以下情况

图像在这里

软键盘基本上需要向上推整个屏幕内容,以便搜索栏位于顶部,其列表视图位于其下方,以便在搜索内容时显示结果.我已尝试设置android:windowSoftInputMode="adjustPan"Activity清单中,但这不起作用.我将滚动视图设置为主布局中的主容器,其中包含片段,但也无效.我已经尝试将编辑文本(搜索栏)作为标题添加到列表视图中,但这也不起作用.每次键盘向上推动编辑文本但覆盖列表视图.有没有办法让这项工作?

Dav*_*her 73

实际上,如果你希望你的整个布局比你应该使用:

SOFT_INPUT_ADJUST_PAN

含义:

getActivity().getWindow().setSoftInputMode(
                WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
Run Code Online (Sandbox Code Playgroud)

这将保持键盘关闭,打开时它会推动整个活动.

  • `adjustpan`工作正常,但与此同时,我也希望我的底部按钮放在键盘上(这基本上是使用`adjustResize`实现的,但它不会将整个布局向上推,最终隐藏输入数据的文本框.有人可以帮忙吗? (4认同)
  • 你太棒了! (2认同)

小智 19

这可以在Fragment Class中用于向上移动Edit文本并向下滚动直到结束.

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Run Code Online (Sandbox Code Playgroud)

如果您的Fragment Activity主题不在FullScreen中,这将确保有效.

希望这会有所帮助!


小智 10

这对我有用.

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Run Code Online (Sandbox Code Playgroud)


小智 9

我遇到了类似的问题,解决方案很简单.

如果活动中的主题设置为全屏@android:style/Theme.Holo.NoActionBar.FullScreen,则键盘不会向上推送内容.

在我将活动更改为之后@android:style/Theme.Holo.NoActionBar,键盘正在推动活动内容.


Neo*_*Neo 9

试试这个

android:windowSoftInputMode="adjustResize"
Run Code Online (Sandbox Code Playgroud)

为我工作


Bar*_*rak 7

试试android:windowSoftInputMode="adjustResize"你的清单文件.

您可能需要这样做android:windowSoftInputMode="adjustResize|adjustPan"...我真的没有任何可与您的设置相媲美的测试...

你的问题是因为(来自adjustPan的文档,强调我的):

活动的主窗口未调整大小以便为软键盘腾出空间.相反,窗口的内容会自动平移,以便键盘不会遮挡当前焦点,用户可以随时看到他们输入的内容

鉴于此,由于顶部的EditText具有焦点,因此您的列表被遮挡了.我目前唯一能想到的就是移动EditText,使其低于列表.然后,当向上推时,您的列表仍应在EditText上方可见.