Answers:
您是否在问如何控制软键盘打开时可见的内容?您可能需要使用windowSoftInputMode。有关更多讨论,请参见开发人员文档。
android:fitsSystemWindows="true"
到您的根视图以解决此问题。
我有同样的问题。尝试以下代码:
android:windowSoftInputMode="adjustPan"
将其添加到保存输入的活动的活动标签中的manifest.xml中。例:
<activity
android:name=".Activities.InputsActivity"
...
android:windowSoftInputMode="adjustPan"
/>
adjustResize
,但它也涵盖了我的输入字段
当软键盘位于屏幕底部的EditText视图上方时,我遇到了同样的问题。通过在AndroidManifest.xml文件的相关活动中添加一行来找到解决方案。
android:windowSoftInputMode="adjustResize|stateHidden"
整个活动代码如下所示:
<activity
android:name="com.my.MainActivity"
android:screenOrientation="portrait"
android:label="@string/title_activity_main"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
这里最重要的值是adjustResize。这样会将整个用户界面上移,以便为软键盘留出空间。
adjustResize|stateHidden
与没什么区别adjustPan
。
为什么不尝试添加ScrollView来包装要滚动的内容。这是我的操作方式,实际上我在顶部没有滚动的标题,而在打开软键盘时对话框小部件(尤其是EditTexts)滚动。
<LinearLayout android:id="@+id/HeaderLayout" >
<!-- Here add a header or whatever will not be scrolled. -->
</LinearLayout>
<ScrollView android:id="@+id/MainForm" >
<!-- Here add your edittexts or whatever will scroll. -->
</ScrollView>
我通常会在ScrollView中使用LinearLayout,但这取决于您。另外,将滚动条样式设置为outsideInset至少对我的设备有所帮助。
您需要做的就是
android:isScrollContainer="true"
来源:http : //www.davidwparker.com/2011/08/25/android-fixing-window-resize-and-scrolling/
我相信您可以使用轨迹球来滚动它,这最终可能会通过选择方法以编程方式实现,但这只是一个想法。我知道轨迹球方法通常可以使用,但是对于执行此操作并使它通过代码运行的确切方法,我不确定。
希望有帮助。
编辑您的AndroidManifest.xml
android:windowSoftInputMode="adjustResize"
将此添加到布局文件的根视图。
android:fitsSystemWindows="true"
就这样。