1

我找到了这个库,我正在尝试自定义它。我想要做的是将滑动从左右更改为左右。这是我想要的图像。

在此处输入图像描述

我还发现其他人也在尝试做同样的事情,你可以在这里阅读。

我试图修改 OrientedViewPager 中的 onLayout 方法

protected void onLayout(boolean changed, int l, int t, int r, int b)

但我失败了,因为我不明白它是如何工作的。我想我必须修改的部分是从这里开始的部分

// Page views. Do this once we have the right padding offsets from above.
        for (int i = 0; i < count; i++) {
            final View child = getChildAt(i);

但我不知道如何正确更改代码。

在下面的公开问题中,我读到 blipinsk 告诉我需要更改的代码在 StackPagerTransformer 中而不是在 OrientedViewPager 中,但我也在这里阅读http://developer.android.com/reference/android/support/v4/ view/ViewPager.PageTransformer.html页面转换器通常仅在页面/片段更改时为动画调用。

你能告诉我该怎么做吗?我在哪里可以找到一本关于如何自定义创建视图组、堆栈视图和页面转换器的好书或教程?谢谢

编辑 1 目前,我使用了一个不太好的 hack,但它确实有效。我在这里将旋转设置为 180

<com.myapp.app1.flippablestackview.FlippableStackView
    android:id="@+id/flippable_stack_view_pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipToPadding="false"
    android:rotation="180" />

和在寻呼机中创建的片段的内容相同

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="265dp"
    android:layout_height="400dp"
    android:background="@color/white"
    android:padding="30dp">

    <TextView
        android:id="@+id/page_one_text_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:rotation="180"
        android:text="CONTENT" />

    <ImageView
        android:id="@+id/page_one_image_content"
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:rotation="180" />

</RelativeLayout>

我想这不是一个优雅的解决方案,但我现在没有时间进行很好的修复。

4

1 回答 1

1

我建议你使用FancyCoverFlow

fancyCoverFlow = new FancyCoverFlow(context);
fancyCoverFlow.setMaxRotation(45);
fancyCoverFlow.setUnselectedAlpha(0.3f);
fancyCoverFlow.setUnselectedSaturation(0.0f);
fancyCoverFlow.setUnselectedScale(0.4f);

XML

<at.technikum.mti.fancycoverflow.FancyCoverFlow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        fcf:maxRotation="45"
        fcf:unselectedAlpha="0.3"
        fcf:unselectedSaturation="0.0"
        fcf:unselectedScale="0.4" />
于 2016-05-02T07:12:43.320 回答