1

シナリオ

TranslateAnimationドロップダウン ビュー アニメーションを実現するために、を使用してビューをアニメーション化しています。私が直面している問題は、アニメーションが終了した後にコンテナーのサイズが大きくならないことです。

画像とスニペット コードを確認してください。

TranslateAnimation animation = new TranslateAnimation(0.0f, 0.0f, top, top + px);
animation.initialize(mDropDownLayout.getWidth(),mDropDownLayout.getHeight(), parentLayout.getWidth(), parentLayout.getHeight());
animation.setDuration(2000);
animation.setFillEnabled(true);
animation.setFillBefore(true);
mDropDownLayout.startAnimation(animation);

私が達成しようとしている結果は、アニメーション ビューが徐々に変換されるにつれて、コンテナーの高さが増加することです。

更新:また、アニメーション ビューは構造的にではなく、視覚的にのみ移動します。

4

3 に答える 3

1

この方法についてはよくわかりませんが、一度試してみてください。

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

このlayoutParamsをrelativeLayout

次に、以下のように要件に基づいて幅/高さを変更できます

layoutParams.width = 10;
layoutParams.height = 10;
于 2012-08-28T10:46:11.690 に答える
1

この DevBytes エピソードで示されているように、レイアウト遷移は理想的です

于 2013-10-19T11:00:51.103 に答える
0

最後に、私はこれを手に入れました。Android には、ビュー アニメーション(android.view.animation) とプロパティ アニメーション(android.animation) の 2 種類のアニメーション パッケージがあります。後者は Honeycomb で導入されました。

最初にビュー アニメーションでアニメーションを試みましたが、アニメーションが完成した後でレイアウト構造を視覚的な位置に移動できなかったため、無駄でした。

次に、Property Animation で試してみたところ、目的の結果を得ることができました。プロパティ アニメーションを使用することを強くお勧めします。また、 NineOldAndroidsライブラリを使用して、11 未満の API レベルでも使用できます。

github にデモ プロジェクトを追加しました。ここで確認してください

注 :このデモをすべての API レベルで実行するには、NineOldAndroids ライブラリが必要です。

于 2012-08-30T15:45:14.053 に答える