13

以下で説明するように、カスタム アニメーションを使用して 2 つの画面を作成する必要があります。

          画面1 画面2
 ----------------------------- --------------------- ----------
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | リスト 1 | リスト2 | ---------> | リスト 3 | リスト 4 |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
 ----------------------------- --------------------- ----------

  • ユーザーがリスト 1 の項目をロングタッチし、左から右にスライドします。
  • List 1 を含むビューが左から右に (画面の最後まで) 移動し、フェードします。画面 2 が表示されます。

を使用してこのアニメーションを行うことは可能ViewPagerですか? はいの場合、どのように?

ViewPager私は s をかなり広範囲に使用してFragmentおり、すでに多くの画面をフラグメントとして実装しているため、これを介して実行したいと思います。

アニメーションや UI について説明が必要な場合は、お知らせください。

更新:ここで部分的に説明した 1 つのアクティビティで両方の画面を実装することができました。同じものを単一のフラグメントに実装できます。ただしFragment、 a で異なる として実装できることは、ViewPager依然として役立ちます。

4

2 に答える 2

3

ViewPager も私もやり過ぎのようです。後で画面を追加したり、その他の要件が必要な場合を除きます。これらの単純な画面については、ActivityAnimations を使用して実行できます。Screen1 と Screen2 を別のアクティビティに配置すると、シンプルなスタイルを使用してアクティビティをアニメーション化できます。コードを作成する必要はありません。アクティビティの開始スタイルと終了スタイルを定義するだけで実行されます。

したがって、ViewPager を使用する別の理由がない限り、次の方法で同じ効果を得ることができます (テストされていません)。

Android Manifest.xml

<activity android:name=".Screen1" android:theme="@style/Animated"></activity>
<activity android:name=".Screen2"></activity>

あなたのthemes.xml

<resources>
    <style name="Animated">
        <item name="android:windowAnimationStyle">@style/Animation.ScreenAnimation</item>
    </style>
</resources>

最後に、styles.xml で

<style name="Animation"></style>
<style name="Animation.ScreenAnimation" parent="android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item>
    <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item>
    <item name="android:activityCloseEnterAnimation">@anim/slide_out_left</item>
    <item name="android:activityCloseExitAnimation">@anim/slide_in_right</item>
</style>
于 2011-11-15T13:08:45.163 に答える
2

以前、ViewPagers 内で垂直 ListViews を正常に使用したことがあります。ViewPager 内で水平スクロール リスト ビューを試してみませんか?

于 2011-11-16T23:30:33.650 に答える