当软键盘弹出时,ViewPager内的ScrollView无法正常工作

时间:2015-09-18 12:00:57

标签: android android-layout android-fragments android-viewpager android-scrollview

我已经用两个碎片填充了我的Viewpager。

<RelativeLayout
    android:id="@+id/rel_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <in.mobme.chillr.views.flow.SlidingTabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/white"
        android:elevation="2dp"
        app:sldtab_textColorSelected="@color/light_black"
        app:sldtab_textColorUnselected="@color/black"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/tabs"/>

</RelativeLayout>

第二个片段围绕ScrollView

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white">

<RelativeLayout
    android:id="@+id/contentPanel"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="16dp"
    android:padding="16dp">

    <TextView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/amount"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:gravity="bottom"
        android:paddingBottom="8dp"
        android:text="$"
        android:textColor="@color/colorPrimary"
        android:textSize="52sp"/>

    <EditText
        android:id="@+id/amount"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/contact_details_scroll"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="16dp"
        android:layout_toRightOf="@+id/rupee_icon"
        android:background="@null"
        android:hint="0"
        android:imeOptions="actionNext"
        android:inputType="number"
        android:maxLength="5"
        android:maxLines="1"
        android:textCursorDrawable="@null"
        android:textSize="52sp"/>

    <EditText
        android:id="@+id/remarks"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/amount"
        android:layout_marginTop="8dp"
        android:hint="Remarks"
        android:imeOptions="actionNext"
        android:inputType="textCapSentences"
        android:maxLength="140"
        android:textCursorDrawable="@null"/>

    <EditText
        android:id="@+id/invoice_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/remarks"
        android:layout_marginTop="8dp"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:hint="Reference ID"
        android:imeOptions="actionDone"
        android:maxLength="20"
        android:textCursorDrawable="@null"/>

    <ImageButton
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="32dp"/>

</RelativeLayout></ScrollView>

当按下任何Edittext时,它应该弹出软键盘,因此scrollview应该是活动的。我可以让ScrollView在几款手机上运行,​​如三星S4 Mini,索尼Ericcson L等。但它不适用于许多其他手机,如Moto G,Moto E,三星S4等。

我为Manifest中的活动添加了以下参数

android:windowSoftInputMode="adjustPan"

任何人都知道为什么会这样?

1 个答案:

答案 0 :(得分:1)

在ScrollView中添加以下内容

android:fillViewport="true"