激活键盘时推高片段内容

时间:2016-08-17 09:31:56

标签: android android-fragments

我到处搜索过它,我已经把所有内容都包装在ScrollView中,并以这种方式设置键盘:

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

但是当我通过点击EditText启用键盘时,除了顶部的TextView之外,所有内容都被推高了,为什么会这样?

XML布局

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.FET.leonardo.scurcola.NameSelection"
    android:background="#e0ab18">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/whoMaster"
        android:textColor="@color/white"
        android:textSize="50sp"
        android:layout_marginTop="50dp"
        android:textAlignment="center"
        android:id="@+id/whoMaster"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:hint="@string/master"
        android:ems="10"
        android:textColorHint="@color/white"
        android:textColor="@color/white"
        android:textColorHighlight="@color/white"
        android:id="@+id/names"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/next"
        android:layout_marginBottom="50dp"
        android:onClick="onClick"
        android:text="@string/next"
        android:layout_alignParentBottom="true"
        android:layout_alignEnd="@+id/names"
        android:textColor="#e0ab18" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/back"
        android:id="@+id/back"
        android:enabled="false"
        android:onClick="onClick"
        android:textColor="#e0ab18"
        android:layout_marginBottom="50dp"
        android:layout_alignParentBottom="true"
        android:layout_alignStart="@+id/names" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/finish"
        android:visibility="gone"
        android:text="@string/finish"
        android:layout_alignParentBottom="true"
        android:layout_alignEnd="@+id/names"
        android:layout_marginBottom="50dp"
        android:onClick="onClick"
        android:textColor="#e0ab18"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/zero"
        android:textSize="50sp"
        android:textColor="@color/white"
        android:id="@+id/playersLeft"
        android:layout_below="@+id/names"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

而不是RelativeLayout尝试在scrollView.Set Orientation to Vertical。之后使用Linear Layout。