android-softkeyboard 相关问题

Android OS提供的默认屏幕输入法。

.NET MAUI Entry 键盘不隐藏

我有一个非常简单的用户界面,其中有一个用于输入电话号码的输入控件和一个按钮。输入控件有一个用于删除其周围边框的处理程序。当输入控件获得焦点时,键盘会弹出...

回答 4 投票 0

软键盘隐藏了一半的EditText

我有一个ListView,最后一个列表项包含EditText: 我有一个 ListView 并且最后一个列表项包含 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" android:orientation="vertical" > <RelativeLayout android:id="@+id/contentLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="30dp" android:orientation="vertical" > <ImageView android:id="@+id/test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/messageEditText" android:layout_below="@+id/messageEditText" android:layout_marginRight="14dp" android:src="@drawable/test" /> <EditText android:id="@+id/messageEditText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/sendImageButton" android:ems="10" android:gravity="top" android:hint="@string/messageEditText" android:inputType="textMultiLine" android:minHeight="55dp" android:paddingLeft="10dp" android:paddingRight="10dp" android:paddingTop="10dp" /> <ImageButton android:id="@+id/sendImageButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@id/messageEditText" android:layout_alignParentRight="true" android:layout_alignTop="@id/messageEditText" android:adjustViewBounds="true" android:maxHeight="55dp" android:maxWidth="55dp" android:padding="12dp" android:scaleType="centerInside" android:src="@drawable/sendmessage" /> </RelativeLayout> </RelativeLayout> EditText 的一半被隐藏。我也无法滚动ListView。有什么解决办法吗? 解决方案是在 Manifest 中将 android:softInputMode 属性设置为 adjustResize 并将布局(不是列表项布局)放入 ScrollView 中。 我遇到了类似的问题,然后我使用了android:windowSoftInputMode="adjustResize|stateHidden",如上所述这里..它对我来说非常有效.. 从我作为 Android 开发者的早期开始,我就一直在努力使用虚拟键盘。我很惊讶 Android 仍然没有为此提供一个优雅而清晰的解决方案。 所以这里有一个解决方法,可以让你摆脱这个混乱。它可以在没有 ScrollView 解决方法或放弃全屏标志的情况下工作。 将这个很棒的库添加到您的 gradle 文件中: 编译'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:1.0.1' 确保您的活动具有以下键盘设置: android:windowSoftInputMode =“调整调整大小” 用垂直的 LinearLayout 包裹你的 EditText 并添加一个可见性消失的视图: <com.ylimitapp.ylimitadmin.views.NormalFontEditText android:id="@+id/input_et" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textCapSentences|textMultiLine" android:imeOptions="actionSend" android:paddingStart="20dp" android:paddingEnd="40dp" android:paddingTop="10dp" android:maxHeight="120dp" android:adjustViewBounds= "true" android:scrollHorizontally="false" android:textColorHint="#7b7b7b" android:hint="@string/type_your_message" android:background="@drawable/msg_inputfield_bg" android:textColor="@color/black_text_color" android:textSize="15.33sp" /> <View android:id="@+id/keyboard_view" android:layout_width="match_parent" android:layout_height="20dp" android:visibility="gone" /> </LinearLayout> 计算屏幕尺寸,以便您可以计算推动 EditText 的视图的高度: private void storeScreenHeightForKeyboardHeightCalculations() { Rect r = new Rect(); View rootview = getActivity().getWindow().getDecorView(); rootview.getWindowVisibleDisplayFrame(r); mOriginalScreenHeight = r.height(); Rect rectangle = new Rect(); Window window = getActivity().getWindow(); window.getDecorView().getWindowVisibleDisplayFrame(rectangle); int statusBarHeight = rectangle.top; int contentViewTop = window.findViewById(Window.ID_ANDROID_CONTENT).getTop(); int titleBarHeight= contentViewTop - statusBarHeight; if (titleBarHeight == 0) { mOriginalScreenHeight -= (24 * Utils.getDensity(getContext())); } } 为键盘打开和关闭事件添加监听器,然后在运行时设置 EditText 下面的视图高度,以便我们在任何设备和自定义键盘上正确设置高度。然后只需在键盘打开时使其可见即可: private void addkeyBoardlistener() { KeyboardVisibilityEvent.setEventListener( getActivity(), new KeyboardVisibilityEventListener() { @Override public void onVisibilityChanged(boolean isOpen) { if (isOpen) { Rect r = new Rect(); View rootview = getActivity().getWindow().getDecorView(); // this = activity rootview.getWindowVisibleDisplayFrame(r); int keyboardHeight = (mOriginalScreenHeight - r.height()); LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) keyboard_view.getLayoutParams(); params.height = (int) ((keyboardHeight + 5 * Utils.getDensity(getContext()))); keyboard_view.setLayoutParams(params); keyboard_view.setVisibility(View.VISIBLE); } else { keyboard_view.setVisibility(View.GONE); } } }); } 这是结果: 在窗口启动时禁用键盘 this .getWindow().setSoftInputMode(WindowManager.LayoutParams. SOFT_INPUT_STATE_ALWAYS_HIDDEN ); 在清单中为 Activity 元素设置 android:softInputMode 属性。 请参阅 Manifest 文档,了解有效值及其效果的完整列表。您特别感兴趣的可能是 adjustPan 和 adjustResize。 将其添加到清单中,如下所示: <activity android:name="your_activity_name" android:windowSoftInputMode="adjustResize" android:theme="@style/Theme.AppCompat.DayNight.NoActionBar" /> 然后在布局中添加 paddingBottom="20dp" 并编辑文本。 Дуже важливо!!! В мене клавіатура зовсім не зміщувала жодного елементу вікна。 Коли з'являлась то приховувала все собою。 Я не міг знайти рішення цілий день。 getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); Це робить вікно без верхнього та нижнього барів,але це в той же час і не давало клавіатурі посунути вікно。 Гадаю це буде корисно тим хто шукав метод, щоб клавіатура не двигала елементи на екрані коли з'являється.

回答 7 投票 0

以编程方式显示键盘 Android

有没有办法在 Android O 版本以上的 Activity 中显示键盘?我有以下代码: getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); 它适用于...

回答 4 投票 0

android中的adjustResize和adjustPan有什么区别?

我尝试编写一段代码,用于在软键盘出现时重新调整 UI 组件的大小。 当我使用 adjustmentResize 时,它会调整 UI 组件的大小,同时 adjustmentPan 给了我相同的 ou...

回答 6 投票 0

Android:ScrollView 无法在键盘退出时滚动

我有一个带有一些视图的布局,其中一个是 EditText。布局很容易适合一页,但是,当软键盘退出时,布局不会滚动。 这是我的布局的回顾: <...

回答 12 投票 0

通过键盘的自动更正部分获取软键盘高度

我有一个使用“adjustPan”作为其调整大小配置的活动,并且我需要在不使用“adjustResize”的情况下计算键盘高度,因为我需要将一些视图保留为全屏(这意味着......

回答 2 投票 0

Android 应用程序 jetpack compose 中显示弹出窗口的延迟

我目前正在开发一个键盘应用程序,我已经实现了一个弹出窗口,按下按键时应该立即显示。我正在使用 jetpack 编写自己的 PopUp。然而,我却遇到了意想不到的事情

回答 1 投票 0

如何在对话框关闭时隐藏键盘

我有一个带有单个片段的活动。片段上有一个 EditText。 显示片段后键盘就会弹出,但是我设法在清单中阻止它设置

回答 8 投票 0

键盘隐藏颤振中的文本表单字段

嗨团队,我在文本表单字段中遇到问题。我使用的是一台屏幕分辨率较低的 Android 设备,因此如果我尝试输入任何内容,则在此我有一个文本表单字段,键盘会隐藏该文本表单字段...

回答 1 投票 0

edittext.settext() 将键盘类型更改为默认 [从 ?123 更改为 ABC]

我的编辑文本格式有以下代码,因为它可以接受任何输入,所以我没有设置任何输入类型: if (cardNumberEditText != null) { cardNumberEditText.addTextChangedListener(新

回答 3 投票 0

以编程方式隐藏在 Jetpack Compose 中时键盘闪烁

当我以编程方式隐藏专注于文本字段的键盘时,它会闪烁。如何摆脱这个? val KeyboardController = LocalSoftwareKeyboardController.current var 文本由

回答 1 投票 0

调整需要进入视图的可组合项的大小时,BringIntoViewRequester 不起作用

最近几天我试图找到问题的解决方案 键盘与垂直滚动的文本输入字段重叠 柱子。 经过尝试很多事情后,终于找到了解决方案,一切都很好

回答 6 投票 0

如何禁用 EditText 上的键盘建议并告诉键盘显示额外的数字行

我的布局文件中有一个 EditText。当我单击(焦点)EditText 时,软键盘会出现在键盘建议栏中包含预测词(见图 1)。 图1 但我希望当我愿意的时候...

回答 1 投票 0

如何在Android中显示系统表情符号键盘?

我有任务从系统表情符号键盘中选择表情符号并显示在 EditTextView 中。 尝试了以下输入类型: android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"

回答 1 投票 0

当 jetpackCompose 中的活动开始时,键盘需要自动打开并准备好输入

在这里,我尝试在 JetpackCompose 中启动活动时自动打开键盘,但我没有找到任何方法来实现此成功并收到以下错误: 随着我学习更多,我发现...

回答 1 投票 0

Android 自定义键盘请求焦点的正确位置?

我正在使用自定义键盘,想法是用户触摸 editText 然后我的键盘可见。 这是我的代码: inputEditText.setOnTouchListener { v, 事件 -> 输入Ed ...

回答 1 投票 0

D/InputConnectionAdaptor(3218):输入法开启光标监控

这是我在 auth_screen.dart 文件的卡片小部件中使用的表单的一部分: 孩子:Obx(() => 表格( 键:_formKey, 孩子:SingleChildScrollView( 孩子:专栏( CH...

回答 4 投票 0

隐藏导航输入时如何调整软键盘

问题 当我处于全屏/沉浸式模式并且显示软键盘时,我有一些空白空间可用于向最终用户显示更多信息,空白空间占用了...

回答 0 投票 0

如何在 Android 中以编程方式禁用表情符号

我想以编程方式从键盘隐藏表情符号和自动建议。它适用于某些 Android 设备,但不适用于所有设备。这是我隐藏自动建议的代码: txtSingupemail.

回答 9 投票 0

出现软键盘时向上移动布局

在给定的图片中,您可以看到每当我尝试在编辑文本中输入内容时,软键盘会覆盖提交按钮,这真的很令人沮丧。 所以经过一些研究我发现......

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.