当软键盘上升时,如何使按钮保持在底部

时间:2016-05-11 12:36:50

标签: android android-layout

我屏幕底部有一个按钮,即使软键盘上升,我也希望它保持按下状态,但目前它还是软键盘。我试图将按钮对齐到底部,但没有成功。

这是代码(按钮在id / activity_form_button_frame中):

<RelativeLayout>
     <RelativeLayout
        android:id="@+id/activity_form_button_frame"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">
    <ImageButton
        android:id="@+id/activity_form_next_button"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@android:color/black"
        android:src="@drawable/next_btn_drawable"
        android:scaleType="fitCenter"
        android:padding="5dp"
        />
    <Button
        android:id="@+id/activity_form_sumbit_button"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@android:color/black"
        android:text="SUBMIT"
        android:textColor="@color/buttonBlue"
        android:visibility="gone"
        android:padding="15dp"
        style="@android:style/TextAppearance.Large"/>
    </RelativeLayout>

    <FrameLayout
        android:id="@+id/activity_form_fragmentcontainer"
        android:layout_below="@id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/activity_form_button_frame"/>

    </RelativeLayout>

10 个答案:

答案 0 :(得分:10)

AndroidManifest.xml中,将android:windowSoftInputMode="adjustPan"设置为您的活动。

喜欢这样。

<activity
    android:windowSoftInputMode="adjustPan">

<activity
    android:windowSoftInputMode="adjustPan|adjustResize">

您也可以通过编程方式执行此操作。

  

onCreate()方法中使用此代码:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

选中Reference

答案 1 :(得分:2)

试试这个......

<activity
android:windowSoftInputMode="adjustPan">

答案 2 :(得分:2)

试试这个

<activity
android:windowSoftInputMode="adjustPan">

或代码

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

答案 3 :(得分:1)

尝试在您的活动属性android:windowSoftInputMode中添加清单。 将其设置为adjustResize或adjustPan。其中一个将起作用。

答案 4 :(得分:0)

在您的活动代码下的清单文件中,只需添加此行。

android:windowSoftInputMode="stateHidden|adjustResize"

例如,

<activity
    android:name="packagename.ClassName"
    android:label="@string/app_name"
    android:windowSoftInputMode="stateHidden|adjustResize" >
</activity>

你很高兴。

答案 5 :(得分:0)

更改AndroidManifest文件和activity以添加

等属性
android:windowSoftInputMode="adjustResize"

直接打开键盘到上面的按钮。

答案 6 :(得分:0)

在活动代码下的清单文件中添加以下行。

android:windowSoftInputMode="adjustPan|adjustResize"

答案 7 :(得分:0)

AndroidManifest.xml中尝试使用此代码:

<activity
            android:name="com.facebook.FacebookActivity"
            android:windowSoftInputMode="adjustPan|adjustResize"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

答案 8 :(得分:0)

就我而言,我在主题中使用了<item name="android:windowFullscreen">true</item>。它正在制造问题,我同时使用了android:windowSoftInputMode="adjustResize"

答案 9 :(得分:-1)

您可以使用android:layout_alignParentBottom="true"