我需要做一个非常简单的事情 - 找出是否显示了软件键盘.这在Android中可行吗?
当软键盘处于活动状态并且我已成功实现它时,我已经研究了很多调整布局但是当我android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
在清单文件中的活动标签中使用它时问题就出现了.
为此,我使用android:windowSoftInputMode="adjustPan|adjustResize|stateHidden"
了不同的选项,但没有运气.
之后,我以FullScreen
编程方式实现并尝试了各种布局,FullScreen
但都是徒劳的.
我引用了这些链接,并在此处查看了许多与此问题相关的帖子:
http://android-developers.blogspot.com/2009/04/updating-applications-for-on-screen.html
http://davidwparker.com/2011/08/30/android-how-to-float-a-row-above-keyboard/
这是xml代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/masterContainerView"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#ffffff">
<ScrollView android:id="@+id/parentScrollView"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical">
<TextView android:id="@+id/setup_txt" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Setup - Step 1 of 3"
android:textColor="@color/top_header_txt_color" android:textSize="20dp"
android:padding="8dp" android:gravity="center_horizontal" />
<TextView android:id="@+id/txt_header" android:layout_width="fill_parent"
android:layout_height="40dp" android:text="AutoReply:"
android:textColor="@color/top_header_txt_color" android:textSize="14dp"
android:textStyle="bold" android:padding="10dp"
android:layout_below="@+id/setup_txt" />
<EditText android:id="@+id/edit_message"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="Some text here." android:textSize="16dp"
android:textColor="@color/setting_editmsg_color" android:padding="10dp"
android:minLines="5" android:maxLines="6" android:layout_below="@+id/txt_header"
android:gravity="top" android:scrollbars="vertical"
android:maxLength="132" />
<ImageView android:id="@+id/image_bottom"
android:layout_width="fill_parent" android:layout_height="wrap_content" …
Run Code Online (Sandbox Code Playgroud) 我目前正在使用以下代码显示软键盘
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput (InputMethodManager.SHOW_FORCED, InputMethodManager.RESULT_HIDDEN);
Run Code Online (Sandbox Code Playgroud)
在这里我没有用Edittext绑定软键盘,因为我使用了上面的代码.
现在我想关闭SoftKeyboard,所以我目前正在使用下面的代码,但它无法正常工作.
imm.toggleSoftInput (InputMethodManager.SHOW_FORCED, InputMethodManager.RESULT_HIDDEN);
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我使用什么来关闭softKeyboard?
基于下面的答案,我想让你清楚我没有使用EditText,我使用Layout来显示键盘和隐藏键盘.我想将键盘键事件发送到我没有使用editText的远程区域bcoz.
我在撰写中发现的唯一方法是使用accompanist-insets
and 删除窗口插图。这会导致我的应用程序布局出现其他问题。
Android 方式似乎是这样的,我可以将其传递到我的撰写应用程序中并采取相应的操作。
jetpack compose 还有其他方法吗?
如何在android中阅读所有即将发布的通知.是否可以使用广播接收器来收听传入的通知和读取通知信息的能力.
我有一个应用程序,大多数时候需要全屏.我知道如果显示警报或显示其他窗口,则在活动窗口的顶部,会暂时删除全屏.不幸的是,当为EditText或其他东西显示软键盘时,当用户完成键盘时,不会恢复全屏沉浸式模式.
知道如何实现这一目标吗?
当软键盘打开时,我想要滚动视图向下滚动到底部.
为此,我可以使用:fullScroll(View.FOCUS_DOWN);
但是,如何在软键盘打开事件触发后触发该命令?
继承人的困境:我正在显示一个屏幕,其中有一个输入字段和一个标签内的2个按钮(共有3个标签,它们位于屏幕的底部).2个按钮设置在屏幕的左下方和右下方,位于选项卡的正上方.当我点击输入字段时,标签和按钮都被推到键盘顶部.
我希望只按下按钮,并将标签保留在原来的位置,在底部.一旦我确定软键盘正在显示,我正在考虑将标签的可见性设置为GONE,并且一旦软键盘消失就可以看到VISIBLE.
是否有某种类型的软键盘监听器,或者输入字段?也许OnFocusChangeListener
是编辑文本的一些棘手的用法?如何确定键盘是否可见?
我是android的新手,我正在关注这个例子.
代码说我们需要执行以下步骤来获取对话框:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
// 2. Chain together various setter methods to set the dialog characteristics
builder.setMessage(R.string.dialog_message)
.setTitle(R.string.dialog_title);
// 3. Get the AlertDialog from create()
AlertDialog dialog = builder.create();
Run Code Online (Sandbox Code Playgroud)
但是这个getActivity()
方法在哪里定义?
我找不到那种方法.
我有一个包含5 EditText
和a Button
和a TextView
底部的布局.现在,当我按下时EditText
,键盘将会显示,而我的所有键盘都会View
向上推.
现在,我不想把我的TextView
和Button
上面的键盘,仅仅只希望所有的推升 EditText
内ScrollView
到键盘上方.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#ff0"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<EditText
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="EditText 1"
/>
<EditText
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="EditText 2"
/>
<EditText
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="EditText 3"
/>
<EditText
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="EditText 4"
/>
<EditText
android:layout_marginTop="30dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="EditText 5"
android:inputType="textNoSuggestions"
/> …
Run Code Online (Sandbox Code Playgroud)