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

如何在显示软键盘时保持所有字段和文本可见

宋昕
2023-03-14

我在这个登录屏幕上工作,我希望所有字段、文本和按钮在显示IME时调整大小。我已经在androidManifest.xml上使用了android: windowSoftInputMode="调整调整大小",但我仍然在其他元素下面获取一些元素。

虚拟键盘是否覆盖了TextView“地籍Agora”(id=地籍)无关紧要。但是,我希望至少EditText、它们的文本视图和按钮都是可见的。

我发现这个未回答的问题可能是一个有趣的方法:超文本传输协议://stackoverflow.com/问题/6484024/soft-keykey-保持一个视图静止同时移动其他

谢谢你的帮助!

没有输入法的屏幕:http://imageshack.us/photo/my-images/138/semttulo2mr.png/

屏幕与IME(TextView1变为隐藏):http://imageshack.us/photo/my-images/404/semttulo3xw.png/

Stackoverflow抱怨我的代码格式,所以我在这里上传了xml文件:https://rapidshare.com /files/1767398103/login.xml而且我不能发布超过2个链接,这就是为什么我在其中放置空格。

共有1个答案

缪宪
2023-03-14

在这种情况下,我会说您的初始布局(没有显示键盘)已经有问题了。鉴于您正在创建一个看起来纯粹是登录屏幕的东西,将所有控件放在屏幕的上半部分并在用户访问页面时自动显示键盘是可以接受的。这使用户的体验更快,并且您不必想出灵活的布局。

但是,如果要尝试在两个视图中都使用布局,则需要将控件之间的间距更改为动态间距。

例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width = "fill_parent"
    android:layout_height = "fill_parent"
    android:orientation="vertical"
    >
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
        <!-- Username Controls here -->
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
        <!-- Password Controls here -->
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
        <!-- Login Button here -->
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
        <!-- TextView here -->
    <Space 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1">
</LinearLayout>

要使其正常工作,必须从控件中删除所有垂直填充,但文本框标签之间的填充除外。

 类似资料:
  • 问题内容: 我正在使用Swift在iOS上进行编程,并且正在使用此代码移动,但是它不起作用。我正确调用了该函数,但是文本字段没有移动。我正在使用自动版式。 问题答案: 现有答案有一些改进。 首先, UIKeyboardWillChangeFrameNotification 可能是最好的通知,因为它处理的不仅是显示/隐藏,还包括由于键盘更改(语言,使用第三方键盘等)和旋转引起的更改(但下面的注释说明

  • 我正在使用Swift进行iOS编程,我正在使用此代码移动,但它不起作用。我正确地调用函数,但文本字段不移动。我正在使用自动布局。

  • 我有一个片段,其中包含一个ViewPager2的2个fragemnt。在第二个子片段中,我有一个回收器视图,其视图保持器包含 TextView 和 EditText。 在模拟器中,当我点击编辑视图时,软键盘一直关闭。 在真实设备(索尼xperia XA)中,软键盘没有关闭,但它总是关注第一个编辑文本,无论我是否在另一个编辑文本中单击 我曾尝试使用android:WindowsOfInputMode

  • 有很多关于查找显示/隐藏软键盘事件的帖子。我发现自己的处境是,我需要根据软键状态在片段中更改图标。 我试图实现onMeasure,但我无法在片段中覆盖它。是否有一种(相对)无痛的方式可以在我的片段中获得清晰的显示/隐藏软键盘事件,或者我应该放弃?

  • 我有一个自定义背景编辑文本。当他们的键盘打开-屏幕调整显示集中编辑文本,问题是,它削减了我的自定义背景。 什么是最好的方式显示我的编辑文本包括他的敲击白背景时,键盘打开? 我的清单现在是调整设置。

  • 我必须在我的Android应用程序中列出Firebase Firestore文档中的所有字段。如何落实? 例如在附上的截图中,我必须在我的App中显示文档“HiySLB7YW0DGE5B1MMPigreByJ03”中的所有字段。 文档截图