2

Honeycomb サンプル ギャラリー アプリには、2 つのフラグメント設定を使用するレイアウトがあります。1 つは画面の左側にタイトルを表示し、もう 1 つは選択したコンテンツを表示します。タイトル フラグメントは、アニメーションで非表示にすることができます。

アニメーションを非表示にしている間、アプリはフレームワークに対して、フレームごとにレイアウトを再計算するように要求します。このようにして、コンテンツ フラグメントは、タイトル フラグメントが画面外に移動するときに残した空きスペースを占有できます。これは素晴らしいダイナミックな効果を生み出しますが、非常に効率が悪いと思います。

私はかなり複雑なレイアウトを持っていますが、システムにすべてのフレームで再レイアウトを要求したくありません。でも、サンプルのようなスムーズな遷移アニメーションが欲しいです。この問題の代替ソリューションはありますか?

Ps: 明確にするために、基本的なフラグメント トランザクション アニメーションの実行方法を尋ねているわけではありません。私はそれらを知っており、私の知る限り、これらのアニメーションはそのサンプル ギャラリー アプリで見られる動作を生成できません (別の例は Honeycomb Gmail アプリで、実現したい同様の遷移があります)。

4

1 に答える 1

0

必要に応じてカスタム アニメーションをフラグメント システムに提供できます。フラグメントを移動したり、フェードしたりできます。これらのアニメーションが (レイアウトをトリガーするプロパティを変更することによって) 明示的または暗黙的にレイアウトを引き起こさない場合は、各アニメーション フレームでレイアウトを取得しないでください。フラグメントが追加/削除されるため、最初/最後にレイアウト呼び出しがまだある可能性がありますが、アニメーション中のレイアウト/無効化プロセスは、アニメーションとその動作次第です。

于 2011-05-24T14:07:30.033 に答える