当前位置: 首页 > 知识库问答 >
问题:

在EditText Android中输入文本时,屏幕不向上移动

颜修真
2023-03-14

当我在模拟器的 EditText 中输入文本时,屏幕不会向上移动,因此我看不到我正在输入的内容。

我想附加屏幕截图,但我还没有所需的声誉。

这只是以下代码的问题。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<EditText
    android:id="@+id/recQsEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_alignRight="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="16dp"
    android:ems="10"
    android:maxLines="1"
    android:padding="5dip"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:scrollbars="vertical" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/recAnsEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView2"
    android:layout_alignRight="@+id/recQsEditText"
    android:layout_below="@+id/textView2"
    android:layout_marginTop="18dp"
    android:ems="10"
    android:maxLines="1"
    android:padding="5dip"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:scrollbars="vertical" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="49dp"
    android:text="@string/recoveryInfo"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/recQsEditText"
    android:layout_below="@+id/recQsEditText"
    android:layout_marginTop="73dp"
    android:text="@string/recoveryAnsText"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<Button
    android:id="@+id/setRecQsBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/recAnsEditText"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="48dp"
    android:text="@string/saveChangesBtn" />

</RelativeLayout>

同时,它在同一应用程序的另一个屏幕上运行良好。

工作代码是-

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<EditText
    android:id="@+id/addUserIdEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/textView1"
    android:layout_marginLeft="30dp"
    android:ems="10"
    android:maxLines="1" />

<EditText
    android:id="@+id/addTitleEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/TextView01"
    android:layout_below="@+id/TextView01"
    android:ems="10" 
    android:maxLines="1" >

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/addUserIdEditText"
    android:layout_below="@+id/addTitleEditText"
    android:text="@string/userIdInputText"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/TextView02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/addUserIdEditText"
    android:layout_below="@+id/addUserIdEditText"
    android:text="@string/passwordInputText"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/TextView01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_alignParentTop="true"
    android:layout_marginTop="26dp"
    android:text="@string/titleInputText"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/addPasswordEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/TextView02"
    android:layout_alignRight="@+id/addUserIdEditText"
    android:layout_below="@+id/TextView02"
    android:ems="10"
    android:inputType="textPassword"
    android:maxLines="1" />

<TextView
    android:id="@+id/TextView03"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/addPasswordEditText"
    android:layout_below="@+id/addPasswordEditText"
    android:text="@string/loginURLinputText"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/addLoginUrlEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/TextView03"
    android:layout_below="@+id/TextView03"
    android:ems="10"
    android:maxLines="1" />

<EditText
    android:id="@+id/addOtherNotesEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView2"
    android:layout_below="@+id/textView2"
    android:ems="10"
    android:maxLines="2" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/addLoginUrlEditText"
    android:layout_below="@+id/addLoginUrlEditText"
    android:text="@string/otherNotesInputText"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<Button
    android:id="@+id/saveButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/addOtherNotesEditText"
    android:layout_marginTop="36dp"
    android:layout_toRightOf="@+id/textView2"
    android:onClick="saveOnClick"
    android:text="@string/saveBtn" />

</RelativeLayout>

我正在努力找出它为什么不起作用。请帮帮忙!

共有1个答案

司空赞
2023-03-14

在AndroidManifest文件中,

android:windowSoftInputMode="adjustPan"  

到你的活动课。

例:

 <activity
        android:name=".YourActivity"
        android:label="@string/app_name"
        android:windowSoftInputMode="adjustPan" />

这将使editText正确调整为软键盘。查看其中的其他选项以满足您的需求。

 类似资料:
  • 问题内容: 我有一个使用react native创建的登录屏幕。 当用户输入textInput时,如何将屏幕上移? 我是否要监听onFocus()事件并使用css样式来更改视图? 问题答案: 在2017年(RN 0.43),这方面有特殊的组成部分: KeyboardAvoidingView

  • 我试图移动这个图像: 在我的PyGame屏幕上,从右到左再向后,但是随着图像的移动,每隔一秒左右我就会有一点屏幕撕裂,就像这样: 我使用的代码是类似于此的循环: 到目前为止,我已经尝试了以下方法来解决这个问题: 在创建屏幕时使用,,标志,这没有效果,我也调整了更新为(因为使用?)时建议使用此选项) 在GPU和CPU之间拆分内存(我在raspberry pi 2上运行此功能)我尝试过为这两个处理器提

  • 我尝试过在键盘出现时向上移动屏幕。我成功地做到了,但我需要知道如何仅在单击底部时滚动视图,而不是顶部,因为键盘只是触摸下面的。 应用程序是这样的: 我们的观点

  • 问题内容: 我有一个div,当我的页面首次加载时,它离顶部约100像素(该页面包含一些按钮等)。 当用户滚动通过它时,我希望div“关注”该用户,因为它附着在屏幕顶部。当用户返回页面顶部时,我希望它返回到其原始位置。 问题答案: 诀窍是您必须将其设置为position:fixed,但仅在用户滚动经过它之后才能设置。 可以通过将处理程序附加到window.scroll事件来完成此操作 当页面滚动经过

  • 问题内容: 我目前正在使用python / curses编写应用程序用户界面,我想知道是否可以要求用户在用户界面不断更新时按下键(cbreak模式)以隐藏或显示某些面板或窗口。 我阅读了有关curses的官方python文档并进行了一些尝试,但是即使使用cbreak模式和非阻塞输入模式(nodelay)已激活,我也无法使其正常工作(我成功获取了用户输入,但是在阻止UI的代价不是我想要的)。 所以我

  • 我想用MCP在Minecraft 1.18的屏幕上显示一个文本。我在YouTube上看过一些教程,但它们只介绍了如何在1.12版中使用,在网上搜索了大约4个小时后,我没有找到1.18版的任何内容。在1.12中,他们使用了