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);

しかし、コードを適切に変更する方法がわかりません。

以下の未解決の問題で、変更が必要なコードの一部は OrientedViewPager ではなく StackPagerTransformer にあると blipinsk が言ったことを読みましたが、ここでも読みましたhttp://developer.android.com/reference/android/support/v4/ view/ViewPager.PageTransformer.htmlページ トランスフォーマーは通常、ページ/フラグメントが変更されている間、アニメーションに対してのみ呼び出されます。

やり方を教えてください。カスタマイズされたビューグループ、スタックビュー、およびページトランスフォーマーの作成方法に関する優れた本またはチュートリアルはどこにありますか? ありがとう

編集1現時点では、あまり良くないハックを使用しましたが、機能します。ここで回転を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 に答える