1

現在、別の Android アプリを開発中です。メインメニューがあります。今ではかなりシンプルです - その中に4つのボタンがあります. そのメニューの背景をライブ壁紙のようにアニメートしたい

実際、静的な背景画像を使用して、他の画像を1〜2枚水平にスライドさせたいだけです。私はそれについていくつかの調査を行い、ライブ壁紙には API 2.1 が付属していることがわかりました。アプリはこの API とダウンコンパチブルである必要があるため、これは私のニーズに完全に適合します。API 3.1 が登場し、ほとんどのチュートリアルはそれに基づいて構築されています。

だから今、私はどこから始めるべきかというアドバイスが欠けているだけです. あらゆる種類の助けに感謝します!

アドバイスに従って、トゥイーンアニメーションを試しました-このチュートリアルhttp://mobile.tutsplus.com/tutorials/android/android-sdk-creating-a-simple-tween-animation/にかなり従いました

そして、エミュレーションデバイスでは魅力のように機能します..しかし、ネイティブAPI 2.1デバイスで実行すると、アニメーションが表示されません..何も考えていませんか?

4

1 に答える 1

1

まず第一に、Tween Animations を使用するようにアドバイスしてくれたClass Stackerに感謝します。- 残念ながら、アニメーションは API 2.1 デバイスでは表示されませんでした。

このチュートリアルに従って、トゥイーンアニメーション「clouds_pass.xml」を次のように設定しました-

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:duration="80000"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true"
>

<translate
    android:fromXDelta="155%p"
    android:toXDelta="-100%p"
    android:repeatCount="infinite"
/>

アクティビティがトゥイーンをそのように呼び出していたので-

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ImageView clouds = (ImageView)findViewById(R.id.clouds);
    Animation cloudspass = AnimationUtils.loadAnimation(this,R.anim.clouds_pass);
    clouds.startAnimation(cloudspass);

}

その理由が何であるかはっきりとはわかりません..しかし、「clouds_pass.xml」からandroid:durationタグを削除し、期間を設定します

cloudspass.setDuration(80000);

アニメーションを読み込んだ後、修正されました - API 2.0 デバイスまで意図したとおりに動作するようになりました。

于 2013-04-26T16:43:01.313 に答える