1

我有一个Activity显示一个人的联系方式的。它包含 CordinatorLayout(包含标题),ViewPager其中还有TabLayout.

其中一个片段包含EditText在 ViewPager 中的底部。

我为此活动使用以下主题。`

    <style name="ToolbarAppThemeV4WithoutActionBar" parent="ToolbarAppThemeV4">
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
        <item name="colorPrimary">@color/colorPrimaryDesignV4</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:textColorPrimary">@color/color_v4_primary</item>
        <item name="android:actionMenuTextColor">@color/white</item>
        <item name="android:textColorSecondary">@color/color_v4_secondary</item>
        <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
        <item name="alertDialogTheme">@style/Theme.AppCompat.Light.Dialog</item>
        <item name="windowActionModeOverlay">true</item>
        <item name="actionModeBackground">@color/color_multiselectTopBarbackground</item>
        <item name="actionModeCloseDrawable">@drawable/in_ic_back_white</item>
        <item name="actionModeStyle">@style/SomeStyle</item>
        <item name="popupMenuStyle">@style/PopupmenuV4</item>
        <item name="colorAccent">@color/colorPrimaryDesignV4</item>
        <item name="android:windowTranslucentStatus">true</item>
    <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
    </style>

`

我正在尝试使用 android:windowSoftInputMode="adjustPan" 和 "adjustResize" 以及所有可能的组合,但它没有正确显示。

请假设以下片段屏幕显示在 ViewPager 中。实际结果:

在此处输入图像描述

预期结果:

在此处输入图像描述

任何人都可以帮助我吗?我在清单中的活动的 windowSoftInputMode 中尝试了所有可能的组合。但没有任何工作。

请注意,如果我在不同的活动中使用相同的片段,它是有效的。尝试使用相同的主题,但在此活动中不起作用。

是否与 ViewPager、Fragment、Cordinator Layout 有关?请帮助我。

包含 EditText 输入字段的 XML 布局:`

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/white"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp">

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

        <ImageView
            android:id="@+id/toolbar_back"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_centerVertical="true"
            android:layout_marginLeft="4dp"
            android:layout_marginStart="4dp"
            android:background="?android:attr/actionBarItemBackground"
            android:scaleType="center"
            android:src="@drawable/in_ic_back_red" />

        <TextView
            android:id="@+id/comments_toolbar_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="8dp"
            android:layout_marginStart="8dp"
            android:layout_toEndOf="@+id/toolbar_back"
            android:layout_toRightOf="@+id/toolbar_back"
            android:textColor="@color/colorPrimaryDesignV4"
            android:textSize="@dimen/font_size_text_medium" />

        <View
            style="@style/HorizontalDividerV4"
            android:layout_alignParentBottom="true" />

    </RelativeLayout>

</android.support.v7.widget.Toolbar>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/bottom_bar"
    android:layout_below="@+id/toolbar">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="gone"
        tools:visibility="visible">

        <ProgressBar
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="match_parent"
            android:layout_height="10dp"
            android:indeterminate="true" />

    </RelativeLayout>

    <FrameLayout
        android:id="@+id/master_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white">

        <!--contains loader, error or empty states-->
        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent">

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

        <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="match_parent" />


        <android.support.design.widget.CoordinatorLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            android:layout_margin="8dp"
            android:orientation="vertical"
            android:padding="3dp"
            android:scaleType="centerInside">

            <RelativeLayout
                android:id="@+id/fab"
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:layout_marginBottom="5dp"
                android:layout_marginEnd="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:layout_marginStart="5dp"
                android:layout_marginTop="12dp"
                android:background="@drawable/rounded_circle_fab"
                android:elevation="3dp">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:src="@drawable/in_ic_img_down_red_svg" />

            </RelativeLayout>

            <TextView
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/rounded_circle_green"
                android:elevation="3dp"
                android:foregroundGravity="top"
                android:gravity="center"
                android:textColor="@color/white"
                android:textSize="@dimen/font_size_text"
                android:textStyle="bold"
                android:visibility="gone"
                app:layout_anchor="@id/fab"
                app:layout_anchorGravity="top|center_horizontal"
                tools:text="4"
                tools:visibility="visible" />

        </android.support.design.widget.CoordinatorLayout>

    </FrameLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:visibility="gone"
        tools:visibility="visible">

        <ProgressBar
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="match_parent"
            android:layout_height="10dp"
            android:indeterminate="true" />

    </RelativeLayout>

</RelativeLayout>

<FrameLayout
    android:id="@+id/bottom_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@color/white"
    android:paddingTop="6dp">

    <View style="@style/HorizontalDividerV4" />

    <RelativeLayout
        android:id="@+id/actions_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="1dp"
        android:background="@color/white">

        <ViewFlipper
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true">

            <ImageView
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:scaleType="center"/>

            <ImageView
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:scaleType="centerInside"/>

        </ViewFlipper>

        <View
            android:id="@+id/vertical_divider"
            android:layout_width="1dp"
            android:layout_height="36dp"
            android:layout_centerVertical="true"
            android:background="@color/color_divider_v4" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginBottom="8dp"
            android:layout_marginLeft="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:background="@color/white"
            android:inputType="textMultiLine|textAutoCorrect|textCapSentences"
            android:maxLines="3"
            android:minLines="1" />

        <ViewFlipper
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true">

            <ImageView
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:scaleType="centerInside"/>

            <ImageView
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:scaleType="centerInside" />

        </ViewFlipper>

        <View
            android:layout_width="8dp"
            android:layout_height="8dp"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_margin="6dp"
            android:background="@drawable/rounded_circle_green"
            android:visibility="gone"
            tools:visibility="visible" />

    </RelativeLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_marginTop="1dp"
        android:background="@color/light_green_v4_bg"
        android:gravity="center"
        android:visibility="gone"
        tools:visibility="gone">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/color_v4_secondary"
            android:textSize="@dimen/font_size_text"/>

    </LinearLayout>

</FrameLayout>

</RelativeLayout>`
4

2 回答 2

2

android:windowSoftInputMode="adjustPan是这样工作的。你需要的是android:windowSoftInputMode="adjustResize".

尝试在运行时在片段中设置它并根据您的需要进行更改。

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
于 2018-03-13T09:35:06.390 回答
0

尝试 :

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
于 2018-03-13T09:42:44.343 回答