Android 在安卓系统中,如何在软键盘上粘贴EditText

Android 在安卓系统中,如何在软键盘上粘贴EditText,android,android-edittext,android-softkeyboard,Android,Android Edittext,Android Softkeyboard,我正在尝试制作下面的图像,当活动开始时,键盘自动打开,EditText和send按钮粘在键盘上 要在活动开始时显示键盘,您需要这样使用: <activity android:name="com.your.package.ActivityName" android:windowSoftInputMode="stateVisible" /> 来自Android文档: stateHidden <activity android:name=

我正在尝试制作下面的图像,当活动开始时,键盘自动打开,
EditText
和send按钮粘在键盘上


要在
活动开始时显示键盘,您需要这样使用:

 <activity android:name="com.your.package.ActivityName"
          android:windowSoftInputMode="stateVisible"  />
来自Android文档:

stateHidden

  <activity
        android:name="ConversationActivity"
        android:label="@string/title_activity_conversations"
        android:launchMode="singleTask"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="stateHidden" />
当用户选择活动时,软键盘被隐藏,即 即,当用户肯定地导航到活动时, 而不是因为离开另一个活动而回到它


当用户输入新活动时,此设置将隐藏软键盘(即使EditText控件获得焦点)。只有当用户单击编辑框控件时,软键盘才会显示。

使用以下代码在活动启动时自动弹出软键盘

InputMethodManager imm = (InputMethodManager)getSystemService(
    Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(youredittext, 0);
确保未在manifest.xml中定义android:WindowsOfInputMode=“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>

我还找到了另一种解决方案,可以在出现软键盘时向上移动布局组件

可以使用
AndroidManifest.xml

adjustResize
属性的主要用途是始终调整活动主窗口的大小,以便为屏幕上的软键盘腾出空间

要在
活动开始时显示键盘并向上移动
编辑文本
,您需要如下使用:

<activity android:name="com.your.package.ActivityName"
          android:windowSoftInputMode="adjustResize" />

我认为它对您很有用: 将清单文件中的此语句添加到活动中: android:WindowsOfInputMode=“stateHidden”



我猜他要求在活动打开时启动键盘…而不是隐藏它。如果您没有在xml或java代码中指定任何内容,那么它将在活动开始时自动显示键盘是的,如果您的答案有多个edittextsTkanks,则重点可能在其他EditText上!但是如何将这样的条粘贴到软键盘上?这不是一个大问题。只需创建一个edittext并将其atribute设置为alignparentBotton=true(如果您的父项是相对布局)…然后它就可以工作了
  <activity
        android:name="ConversationActivity"
        android:label="@string/title_activity_conversations"
        android:launchMode="singleTask"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="stateHidden" />