2

我一直在关注本教程,将 ViewPager.Transformer 应用于我的 ViewPager。您会注意到 Chris Basha 只为 viewpager 中的 2 个片段编写了教程 - 我想在我的 viewpager 中使用 3 个片段:

https://medium.com/@BashaChris/the-android-viewpager-has-become-a-fairly-popular-component-among-android-apps-its-simple-6bca403b16d4

我只想将 2 textViews 从我的 viewpager 内的片段右侧移动到左侧。我的浏览器中有 3 个片段。

这是我的代码:

private class TranslationPageTransformer implements ViewPager.PageTransformer {

    @Override
    public void transformPage(View view, float position) {
        int pageWidth = view.getWidth();

        if (position < -1) { // [-Infinity,-1)
            // This page is way off-screen to the left.
            view.setAlpha(0);

        } else if (position <=1) { // [-1,1]

                hello.setTranslationX((float) (-(1-position) * 1.5 * pageWidth));
                howareyou.setTranslationX((float) (-(1-position) * 0.5 * pageWidth));
        }
        else {
            view.setAlpha(1);
        }
    }
}

这是viewpager的第1页视图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity$PlaceholderFragment">

<TextView style="?android:textAppearanceMedium"
    android:padding="16dp"
    android:lineSpacingMultiplier="1.2"
    android:layout_gravity="right"
    android:textStyle="bold"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/hello"
    />

<TextView style="?android:textAppearanceMedium"
    android:padding="16dp"
    android:lineSpacingMultiplier="1.2"
    android:layout_gravity="right"

    android:textStyle="bold"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/howareyou"
    />

</LinearLayout>

布局

当我从第 1 页移动到第 2 页并再次返回时,上面的代码就像一个魅力。文本从右向左移动,然后再次返回,并以不同的速度加速到浏览器的移动。

当我从第 1 页 - 第 2 页 - 第 3 页移动,然后再次从第 3 页 - 第 2 页 - 第 1 页移动时,两个文本视图似乎没有回到原来的位置。事实上,包含“你好”这个词的文本视图甚至不会显示“你好吗?” 不再对齐:

在此处输入图像描述

从 page1-2-3 到 page3-2-1 时,如何让两个 textViews 回到原来的位置?

4

0 回答 0