Jay*_*Jay 120 android android-layout
我在每个活动的底部都有一组导航按钮.在某些活动中,我需要在其顶部搜索文本视图.但是,每当用户在textview中键入内容时,软键盘总是会向上推导我的导航按钮,即使它实际上没有阻止文本视图.它让我的UI看起来很有趣.如何强制我的导航按钮在不受软键盘推动的情况下保持静止?我试图设置Activity的windowSoftInputMode,但没有一个配置有帮助.
有什么建议?谢谢
dro*_*kid 156
我确实有同样的问题,起初我补充道:
<activity
android:name="com.companyname.applicationname"
android:windowSoftInputMode="adjustPan">
Run Code Online (Sandbox Code Playgroud)
到我的清单文件.但仅凭这一点并没有解决问题.然后正如Artem Russakovskii所说,我补充道:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:isScrollContainer="false">
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
在scrollview中.
这对我有用.
Art*_*kii 71
在我的情况下,按钮被推高的原因是因为它们上方的视图是一个ScrollView,并且无论android:windowSoftInputMode我设置的是什么值,按钮都被推到键盘上方.
我能够通过设置避免我的底部按钮被软键盘向上推
android:isScrollContainer="false"
Run Code Online (Sandbox Code Playgroud)
在ScrollView那个位于按钮上方.
Usm*_*sar 63
要解决此问题,只需android:windowSoftInputMode="stateVisible|adjustPan在android清单文件中添加该活动即可.例如
<activity
android:name="com.comapny.applicationname.activityname"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateVisible|adjustPan"/>
Run Code Online (Sandbox Code Playgroud)
Pet*_*tro 14
对于未来的读者.
我想要对这个问题进行具体控制,所以这就是我所做的:
从片段或活动中隐藏其他视图(键盘启动时不需要),然后将其还原以解决此问题:
rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
rootView.getWindowVisibleDisplayFrame(r);
int heightDiff = rootView.getRootView().getHeight() - (r.bottom - r.top);
if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
//ok now we know the keyboard is up...
view_one.setVisibility(View.GONE);
view_two.setVisibility(View.GONE);
} else {
//ok now we know the keyboard is down...
view_one.setVisibility(View.VISIBLE);
view_two.setVisibility(View.VISIBLE);
}
}
});
Run Code Online (Sandbox Code Playgroud)
windowSoftInputMode将平移或调整您的活动布局.您可以做的一件事是将onFocusChanged侦听器附加到EditText,当用户选择/点击EditText时,您可以隐藏或移动导航按钮.当EditText失去焦点时,您可以将导航按钮放回活动的底部.
| 归档时间: |
|
| 查看次数: |
132113 次 |
| 最近记录: |