点击编辑文字时推送内容
我到处寻找解决我的问题,但无法find答案。 这是问题。
我有一个看起来像这样的布局
现在,当我点击编辑文本(search栏),我想要发生以下事情
软键盘基本上需要将整个屏幕内容向上推,以使search栏位于顶部,并且其列表视图位于其下方,以便当search内容时显示结果。 我已经尝试设置android:windowSoftInputMode="adjustPan"
到清单中的Activity
,但这是行不通的。 我设置一个滚动视图作为包含碎片的主布局中的主容器,但也不起作用。 我已经尝试添加编辑文本(search栏)作为标题列表视图,但是这也没有工作。 每次键盘上推编辑文本,但覆盖列表视图。 有什么办法可以做这个工作吗?
其实如果你想要你的整个布局比你应该使用:
SOFT_INPUT_ADJUST_PAN
含义:
getActivity().getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
这将保持键盘closures,打开时会将整个活动推上去。
这可以在Fragment Class中使用,将Edit文本向上移动并滚动到结束。
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
如果您的Fragment Activity主题不在FullScreen中,这将可以工作。
希望这会有所帮助!
这对我有效。
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
我面临类似的问题,解决scheme很简单。
如果活动中的主题设置为Fullscreen @android:style/Theme.Holo.NoActionBar.FullScreen
,则键盘不会将内容向上推。
将活动更改为@android:style/Theme.Holo.NoActionBar
,键盘现在将活动内容向上推。
尝试这个
android:windowSoftInputMode="adjustResize"
为我工作。
在清单文件中试试android:windowSoftInputMode="adjustResize"
。
你可能需要做的android:windowSoftInputMode="adjustResize|adjustPan"
…我真的没有什么比你的设置testing…
你的问题是因为这个(来自adjustPan的文档,重点是我的):
该活动的主窗口不调整为软键盘腾出空间。 相反,窗口的内容自动平移,以便当前焦点永远不会被键盘遮挡,用户总是可以看到他们正在键入的内容
鉴于此,您的列表被遮盖,因为顶部的EditText有焦点。 我现在唯一能想到的就是移动EditText,使其位于列表的下面。 然后推高时,你的列表仍然应该在EditText上方可见。
我无法find布局自动更改的解决scheme,所以我不得不破解它。 我使用我在主要活动中发现的代码来检测键盘何时打开。 我只是添加代码来调用一个方法,当打开键盘时隐藏我的前两个片段。 这不是我想要做的,但它的工作原理。
这对于我来说是片面的,只需在Manifest中用activity来声明:
android:windowSoftInputMode="adjustPan"
祝你好运!
我使用这个为我的EditText
login:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
关于这个方法的一些说明:
this
是指上下文,因为getActivity()
并不总是可取的
.SOFT_INPUT_STATE_HIDDEN //for default hidden state when activity loads .SOFT_INPUT_STATE_VISIBLE //for auto open keyboard when activity loads
每次工作!
如果有人仍然面临这个问题
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:id="@+id/view" **android:fitsSystemWindows="true"** android:layout_height="match_parent">
添加这个在你的布局
android:fitsSystemWindows="true"
希望能解决问题
它为我工作。