将FrameLayout与键盘顶部对齐

时间:2015-11-09 13:25:41

标签: android android-layout

在我的应用程序的一些片段中,我在页面底部有一个EditText。这样做的问题是,当键盘打开时,键盘与页面底部重叠,因此您无法看到EditText。是否可以将包含碎片的FrameLayout底部对齐到键盘顶部?

包含FrameLayout的Activity的视图:

<?xml version="1.0" encoding="utf-8"?>
<com.myapp.Layouts.FullDrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity_">

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

        <include layout="@layout/view_toolbar" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <FrameLayout
                android:id="@+id/content_frame"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_above="@+id/view_menu_bar" />

            <include layout="@layout/view_menu_bar"
                android:layout_height="@dimen/menu_bar_height"
                android:layout_width="fill_parent"
                android:layout_alignParentBottom="true"
                android:id="@+id/view_menu_bar" />
        </RelativeLayout>
    </LinearLayout>

    <include layout="@layout/view_drawer"
        android:id="@+id/drawer"
        />

</com.myapp.Layouts.FullDrawerLayout>

3 个答案:

答案 0 :(得分:0)

在manifest.xml中查找活动,并将android:windowSoftInputMode="adjustResize"设置为:

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

来源:http://android-developers.blogspot.in/2009/04/updating-applications-for-on-screen.html

答案 1 :(得分:0)

尝试:

<activity
    android:windowSoftInputMode="adjustPan"/>

或:

<activity
    android:windowSoftInputMode="adjustResize"/>

答案 2 :(得分:0)