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

Posted

技术标签:

【中文标题】键盘上方的android按钮[重复]【英文标题】:android button above keyboard [duplicate] 【发布时间】:2018-05-24 20:49:47 【问题描述】:

我正在尝试创建一个简单的活动,顶部有一个 EditText,底部有一个 Button。打开时,最后一个应该在键盘上方,但我没有得到任何好的结果(它停留在底部,被键盘隐藏)。

我在这方面发现了很多主题,所以我尝试了:

android:windowSoftInputMode="adjustResize"(也带有 adjustPan) android:fitsSystemWindows="true" 滚动视图

但这没有帮助。

这是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/search_container"
    android:layout_
    android:layout_
    android:background="#ffffff"
    android:fitsSystemWindows="true">

    <fr.bowo.app.widget.page.EditTextPreIme
        android:id="@+id/edit_text_dialog"
        android:layout_
        android:layout_
        android:layout_marginTop="100dp"
        android:gravity="center"
        android:hint="Rechercher par mot..."
        android:imeOptions="actionSearch"
        android:inputType="textAutoCorrect"
        android:lines="1"
        android:maxLines="1"
        android:textAppearance="@style/BoldFont"
        android:textColor="@color/black"
        android:textSize="@dimen/title" />

    <Button
        android:id="@+id/search_image"
        android:layout_
        android:layout_
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_marginBottom="@dimen/border_small"
        android:layout_marginEnd="@dimen/border_small" />
</RelativeLayout>

感谢您的帮助。

【问题讨论】:

【参考方案1】:

使用下面的布局。

<RelativeLayout
android:layout_
android:layout_>


<EditText
    android:id="@+id/et"
    android:layout_
    android:layout_ />

<Button
    android:id="@+id/search_image"
    android:layout_
    android:text="Hit"
    android:layout_centerHorizontal="true"
    android:layout_
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="20dp"

    />
</RelativeLayout>

你的活动清单条目应该是。

 <activity
        android:name=".MainActivity"
        android:theme="@style/AppTheme.NoActionBar"
        android:windowSoftInputMode="adjustResize">
    </activity>

【讨论】:

android:orientation="vertical" 不需要在这里阅读developer.android.com/guide/topics/ui/layout/relative.html 非常感谢,它适用于:android:theme="@style/Theme.AppCompat.NoActionBar" @Nilu 将 Linearlayout 更改为 realtive,因此错误地将其留在那里。谢谢指出。 最后,这并不完全符合我的要求。该按钮现在位于好位置,但我不再是全屏模式(没有 android 栏)。当我添加全屏模式时,按钮消失在键盘后面.. 全屏模式不会调整大小。【参考方案2】:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:fillViewport="true"
    android:layout_>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/search_container"
        android:layout_
        android:layout_
        android:background="#ffffff"
        android:fitsSystemWindows="true">

        <fr.bowo.app.widget.page.EditTextPreIme
            android:id="@+id/edit_text_dialog"
            android:layout_
            android:layout_
            android:layout_marginTop="100dp"
            android:gravity="center"
            android:hint="Rechercher par mot..."
            android:imeOptions="actionSearch"
            android:inputType="textAutoCorrect"
            android:lines="1"
            android:maxLines="1"
            android:textAppearance="@style/BoldFont"
            android:textColor="@color/black"
            android:textSize="@dimen/title" />

        <Button
            android:id="@+id/search_image"
            android:layout_
            android:layout_
            android:layout_alignParentBottom="true"
            android:layout_alignParentEnd="true"
            android:layout_marginBottom="@dimen/border_small"
            android:layout_marginEnd="@dimen/border_small" />
    </RelativeLayout>
</ScrollView>

使用此布局将解决您的问题。

【讨论】:

以上是关于键盘上方的android按钮[重复]的主要内容,如果未能解决你的问题,请参考以下文章

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

android中TextView在界面显示的时候,我想在键盘显示的上方加两个按钮,一个是确定,一个是取消.

Android键盘输入/下一步按钮处理程序[重复]

如何在键盘打开时隐藏浮动按钮(Android/iOS)?

Android在btn上隐藏键盘单击[重复]

在 Toast 下保留软键盘 - ANDROID