web-dev-qa-db-ja.com

Android page Curlアニメーション

  1. Curlページ反転アニメーションを行う簡単な方法はありますか? Curlアニメーションは、ページをめくるアニメーションです。これには、ローリングの上のページと下のページの影が含まれます。
  2. (本のように)一度に2ページを表示する「ギャラリー」を実行する推奨方法は何ですか?

    それは...ですか:

    1. アダプターに一度に2つの画像の線形レイアウトを表示させますか? (本のようにページをめくるページを表示させません)
    2. 2つのページを使用して、何らかの方法で一方を他方の近くに配置し、アニメーション化するときが来たら-次の2ページを移動しますか?左のページを右のページにひっくり返して表示できるようにするより良い方法は何ですか?
58
Meymann

ネイティブキャンバスに2Dページカールを実装しています。私の答えをチェックしてください: Androidでページカールを実装しますか?

編集:私の実装のコードプロジェクト: http://code.google.com/p/Android-page-curl/ EDIT2:リンクが更新されました

23
Moss

このコードを使用しています。誰でも理解して使用するのに本当に完璧です。 Harismに感謝します

Android OpenGLを使用)のページカールアニメーションのGitHubリンク

6
Arslan Anwar

以前にAndroidで作業したことはありませんが、ページをめくるタイプのディスプレイを行う最善の方法は、3層で描画することです。最初のページはテキスト、2番目は下の「ページ」、3番目は次のページです。後ろから前に描画すると、ユーザーに表示されるのは最初のページのテキストだけです。

さて、それができたら、使用しているコントロールに基づいて、ある種のカーリング/フリップアニメーションを実行する必要があります。そのアニメーションを実行するのに最適な方法を選択するだけですが、それを実行している間は、ページのアルファ部分がなくなっています。これにより、ページのテキストが下に表示されます(わかりました、うそをつきました。そのテキストの背景も必要です)。

この時点での問題は、同じスペースにテキストを2回描画しているため、最初のページのテキストとその下のアニメーションをブレンドすることです。これにより、アルファセクションが0を超えるテキストは非表示になります。アニメーションでは曲がらないため、それでも問題になる可能性がありますが、フリップの速度によっては問題ない場合があります。アニメーションが完了したら、最初のページ= 2番目に設定し、アニメーションを白にリセットし、2番目のページ=新しい2番目のページに設定します。

シャドウ効果は、ページターンアニメーションの背後にある黒い部分を部分的にアルファ化することで簡単に実行できます。 2番目のページ(アニメーションレイヤーが既に行っているように)に描画し、出来上がり!

あなたの2ページの質問は非常に似た方法を使用できると思います。がんばろう

2
Lunin

これは3Dアニメーションプロジェクトです(OpenGL 2.0ベース)- http://anettosoftware.co.uk/npc.php

1
Anton