InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(youredittext, 0);
<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>
我还找到了另一种解决方案,可以在软键盘出现时移动布局组件。
可以通过在AndroidManifest.xml
中使用adjustResize
属性来实现。
adjustResize
属性的主要目的是始终调整活动的主窗口大小,以便为屏幕上的软键盘腾出空间。
要在Activity
开始时显示键盘并将EditText
向上移动,需要像这样使用:
<activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="adjustResize" />
<activity
android:name="ConversationActivity"
android:label="@string/title_activity_conversations"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
Activity
启动时显示键盘,您需要像这样使用: <activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="stateVisible" />
来自Android文档:
stateVisible
软键盘在通常适当的情况下可见(当用户向前导航到活动的主窗口时)。
要在Activity
开始时隐藏键盘,您需要像这样使用:
在您的AndroidManifest.xml文件中:
<activity android:name="com.your.package.ActivityName"
android:windowSoftInputMode="stateHidden" />
来自Android文档:
stateHidden
当用户积极导航到活动时,软键盘会隐藏——也就是说,当用户选择进入该活动,而不是因为离开另一个活动而返回它时。
此设置将在用户进入新活动时隐藏软键盘(即使EditText控件获得焦点)。只有当用户点击编辑框控件时,软键盘才会显示。