[英]How to have an EditText stuck to the soft keyboard in Android
使用以下代码在活动启动时自动弹出软键盘
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(youredittext, 0);
确保您没有在 manifest.xml 中定义android:windowSoftInputMode="stateHidden"
。
要使用页脚附加 Edittext,请使用以下代码:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#f3f3f3"
android:paddingBottom="10.0dip"
android:paddingTop="10.0dip"
android:id="@+id/bottom_bar" >
<EditText
android:id="@+id/et_send_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10.0dip"
android:layout_toLeftOf="@+id/ib_send"
android:hint="Enter Message"
android:singleLine="true" />
<ImageView
android:id="@+id/ib_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/et_send_bar"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/et_send_bar"
android:layout_marginBottom="1px"
android:layout_marginRight="10.0dip"
android:layout_marginTop="1px"
android:background="@drawable/chatsend_bg"
android:paddingBottom="5.0dip"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="5.0dip"
android:src="@drawable/ic_send_dark_normal" />
</RelativeLayout>
要在Activity
开始时显示键盘,您需要像这样使用:
<activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="stateVisible" />
来自 Android 文档:
状态可见
通常情况下,软键盘是可见的(当用户向前导航到活动的主窗口时)。
要在Activity
开始时隐藏键盘,您需要像这样使用:
在您的 AndroidManifest.xml 中:
<activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="stateHidden" />
来自 Android 文档:
状态隐藏
当用户选择活动时,软键盘是隐藏的——也就是说,当用户肯定地向前导航到活动时,而不是因为离开另一个活动而返回。
此设置将在用户进入新 Activity 时隐藏软键盘(即使 EditText 控件获得焦点)。 仅当用户单击编辑框控件时才会显示软键盘。
我还找到了另一种在软键盘应用程序时向上移动布局组件的解决方案。
可以使用AndroidManifest.xml
adjustResize
属性来实现
adjustResize
属性的主要目的是 Activity 的主窗口总是调整大小,以便为屏幕上的软键盘腾出空间。
要在Activity
开始时显示键盘并向上移动EditText
,您需要像这样使用:
<activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="adjustResize" />
我认为它对您有用:将清单文件中的此语句添加到您的活动中: android:windowSoftInputMode="stateHidden"
<activity
android:name="ConversationActivity"
android:label="@string/title_activity_conversations"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.