0

レイアウト ファイルがmain.xmlあり、Java コードで、レイアウトから取得した計算を実行して、レイアウト ファイルmainに表示したいと考えていresult.xmlます。anim次のように、フォルダーを使用してアニメーションを保持し、resultレイアウトをスライドできることを知っています。

左から右へ:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate android:fromXDelta="-100%" android:toXDelta="0%"
             android:fromYDelta="0%" android:toYDelta="0%"
             android:duration="700"/>
</set>

右から左へ:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate
     android:fromXDelta="0%" android:toXDelta="100%"
     android:fromYDelta="0%" android:toYDelta="0%"
     android:duration="700" />
</set>

上記を実装する方法を考えていたので、レイアウトファイルでボタンをクリックすると、mainレイアウトファイルresultが右からスライドインします。また、レイアウトに戻りたい場合は、main(レイアウトに追加された) ボタンを押して、レイアウト ファイルresultを右にスライドできます。main

4

2 に答える 2

1

Android フレームワークが提供するデフォルトのストック アニメーションをいつでも使用できます。

コード例を次に示します。

boolean isFirstXml=evaluatingConditionFunction();
LayoutInflater インフレータ = getLayoutInflater();
View view=inflator.inflate(isFirstXml?R.layout.myfirstxml:R.layout.myseconxml, null, false);
view.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right));
setContentView(ビュー);

親ビューを保持する任意のアクティビティからこれを呼び出します。

カスタム アニメーションについては、開発者向けドキュメントにアクセスできます。ドキュメントのリンクはこちらです。

于 2013-07-25T15:07:47.373 に答える
1

この関数を使用することもできます: overridePendingTransitionは、次のアクティビティのアニメーションと、終了するアクティビティの他のアニメーションを定義できます。

2 番目の Activity で、次のように使用します。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    overridePendingTransition(android.R.anim.slide_out_right, 0);
    setContentView(R.layout.myLayout);

最初の引数はアニメーション入力用で、0 はアニメーションなしです。

2 番目のアクティビティを終了するときのアニメーションの場合:

@Override
public void finish() {
    super.finish();
    overridePendingTransition(R.anim.enterAnim, R.anim.leaveAnim);
}
于 2013-07-26T14:48:41.160 に答える