Android:如何按下软键盘上方的按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:如何按下软键盘上方的按钮相关的知识,希望对你有一定的参考价值。

我有一个“保存”按钮,我想用软键盘一起推。因此,当用户单击布局中的EditText时,该按钮必须保持在键盘上方。现在按钮隐藏在键盘下方。你怎么做到这一点?

提前致谢!

答案
<activity 
    android:windowSoftInputMode="adjustResize"
>

试试这个

另一答案

与Inthathep的答案一起,您必须在父视图组中添加属性

android:fitsSystemWindows="true"

按需要工作。即,在清单文件中,为活动添加

android:windowSoftInputMode="adjustResize"

例如。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:fitsSystemWindows="true" <!-- add this -->
    android:orientation="vertical"
    >
    <EditText
        android:id="@+id/et_assetview_comment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:minHeight="80dp"
        android:background="@color/white"
        android:hint="Enter comments"
        />
    <Button
        android:id="@+id/btn_assetview_postcomment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="POST"
        />
</LinearLayout>
另一答案

像这样订购您的布局,您就可以将按钮放在键盘上方

<?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"
    >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/button_next"
        android:background="#0ff"
        >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="250dp"
                android:hint="Hint"
                />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ABC"
                android:textSize="50sp"
                />
        </LinearLayout>
    </ScrollView>

    <Button
        android:id="@+id/button_next"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:layout_margin="10dp"
        android:text="Button Next"
        />

</RelativeLayout>

在android清单中

<application
        ...
        >
        <activity android:name=".YourActivity"
            android:windowSoftInputMode="adjustResize"
           >
        </activity>
</application>

enter image description here

请注意,而不是RelativeLayout,你也可以使用另一个ViewGroupLinearLayout与重量,CordinatorLayout,...

另一答案

所以这是一个相当古老的帖子,但我在提供的答案上挣扎。 oneavi和Intahep都是正确的,但让我向你展示android:windowSoftInputMode="adjustResize"的去向。

在Android Manifest中

    <activity android:name=".DataScreen" />
    <activity android:name=".PauseScreen" />
    <activity android:name=".RouteInfo"
               android:windowSoftInputMode="adjustResize"> <!--This goes in the specific activity with the button -->
    </activity>
另一答案

最好的方法是隐藏按键,如有必要,按下键盘上方的按钮

 android:windowSoftInputMode="adjustResize|stateHidden"

以上是关于Android:如何按下软键盘上方的按钮的主要内容,如果未能解决你的问题,请参考以下文章

android:按下完成键时软键盘执行动作

如何禁用在android片段类中按下的后退按钮

通过按下 Android Studio 中的片段中的按钮进入新页面

如何防止在android片段中按下后退按钮时调用onCreateView

键盘上方的android按钮[重复]

按下回车键隐藏 android 键盘