Android软键盘推送视图
我正在为android开发一个软键盘,我遇到了一个我无法解决的问题。问题是,当我打开键盘时,它会错误地移动其他视图(请参见图片,我的键盘在左侧) 我尝试了在stackoverflow或其他地方找到的多种解决方案,但它们对我不起作用 我试过:Android软键盘推送视图,android,android-layout,view,keyboard,android-softkeyboard,Android,Android Layout,View,Keyboard,Android Softkeyboard,我正在为android开发一个软键盘,我遇到了一个我无法解决的问题。问题是,当我打开键盘时,它会错误地移动其他视图(请参见图片,我的键盘在左侧) 我尝试了在stackoverflow或其他地方找到的多种解决方案,但它们对我不起作用 我试过: android:windowSoftInputMode="adjustResize" android:windowSoftInputMode="stateHidden|adjustPan" android:windowSoftInputMode="adju
android:windowSoftInputMode="adjustResize"
android:windowSoftInputMode="stateHidden|adjustPan"
android:windowSoftInputMode="adjustResize|stateVisible|stateAlwaysHidden"
但这并没有改变你在截图上看到的行为
所以,请帮我解决这个问题
另外,我知道有许多类似的问题,其中提供了“adjustResize”
或“stateHidden | adjustPan”
,但这对我不起作用
p.p.s截图是在android 6.0.1中拍摄的
谢谢。您只需将活动的WindowOfInputMode标志切换到“调整span”。移除调整大小
<activity
...
android:windowSoftInputMode="adjustPan">
</activity>
尝试使用scrollView包装布局
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
.
.
.
.
</ScrollView>
.
.
.
.
我终于找到了解决问题的方法。您需要在扩展InputMethodService
的类中使用此代码:
@Override
public void onComputeInsets(InputMethodService.Insets outInsets) {
super.onComputeInsets(outInsets);
if (!isFullscreenMode()) {
outInsets.contentTopInsets = outInsets.visibleTopInsets;
}
}
我认为android:WindowsofInputMode可以工作,但如下所示:
android:windowSoftInputMode="adjustNothing"
试试看。请阅读说明,解决方案“android:WindowsofInputMode”不起作用。您可以发布布局xml吗?这可能有助于理解原因,或者尝试使用android:WindowsOfInputMode=“adjustNothing”。即使您尝试了windowsSoftInputMode和其他选项,我认为它也能解决问题。“adjustNothing”不会有帮助,在xml文件中也不是问题,因为我正在开发一个键盘,而不是一个普通的应用程序,它的工作原理与普通应用程序有点不同,例如,清单中没有活动标记#Fedor Tsyganov:您是否尝试了android:WindowsOfInputMode=“StateAllwayShidden | adjustPan”@IntelliJAmiya他正在创建一个自定义键盘,所以你要如何调整平移that@Fedor添加你的代码,因为我的键盘上没有显示behaviour@VivekMishra我需要包含扩展InputMethodService的类中的代码还是扩展KeyboardView的类中的代码?@IntelliJAmiya是的,我包含了,但它不起作用