有没有办法让屏幕滚动以允许看到文本字段?

有帮助吗?

解决方案

您是否要求如何控制软键盘打开时可见的内容?您可能希望使用 WindowsoftInputmode 。请参阅 developer docs 更多讨论。

其他提示

我有同样的问题。尝试以下代码:

android:windowSoftInputMode="adjustPan"
.

将其添加到包含输入的活动的活动标记中的Manifest.xml中。示例:

<activity
            android:name=".Activities.InputsActivity"
            ...
            android:windowSoftInputMode="adjustPan"
            />
.

我有同样的问题,软键板位于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>
.

这里最重要的价值是遣进。这将使整个UI转移到软键板的空间。

为什么不尝试添加滚动视图以将您想要滚动的内容包裹。这是我如何完成它,在那里我实际上会在顶部留下一个没有滚动的标题,而对话框小部件(特别是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>
.

我通常会在滚动视图中有一个linearlayout,但这取决于您。此外,至少在我的设备上将滚动条样式设置为外部内部。

所有您需要做的是

android:isScrollContainer="true"
.

来源: http:// www.davidwparker.com / 2011/08/25 / Android-Fixing-Window-Resize-and-Scrolling /

抱歉复兴旧线程,但没有人提到的edittext元素中的设置生成android:imeOptions="flagNoFullscreen"

android:windowSoftInputMode="adjustPan"
android:isScrollContainer="true"

适用于android EditText,而不适用于webview或xwalkview。当软键盘隐藏输入在webview或xwalkview你有使用 android:windowSoftInputMode="adjustResize"

我相信您可以通过使用轨迹球来使其滚动,这可能通过选择方法来通过选择方式实现,但这只是一个想法。我知道轨迹球方法通常是有效的,而是为了完成这一点的确切方式,并使它从代码中工作,我不确定。
希望有所帮助。

将此单行添加到您的相对活动,其中密钥板封面编辑文本.Inside oncreat()活动方法。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
.

我知道这是旧的,但上述解决方案都没有为我工作。在广泛调试后,我讨论了这个问题。 解决方案在我的styledes.xml中将android:windowTranslucentStatus属性设置为false

如果键盘介绍了EditText字段,请使用以下代码:

    EditText= findViewById(R.id.edittext)
    EditText?.getParent()?.requestChildFocus(EditText,EditText)
.

如果您希望 cursor EditText.requestFocus()之后的聚焦eDittext中比使用EditText?.getParent()?.requestChildFocus(EditText,EditText),有助于在聚焦的Edittext中获取焦点和光标。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top