2

昨日、アプリケーションを市場にアップロードしましたが、uses-sdk android:minSdkVersion="4"アイテムをマニフェスト ファイルに追加する必要がありました。このアイテムを追加した後、ViewFlipper ウィジェットから奇妙な動作が発生します。minSdkVersion がなければ、ビュー フリッパーは問題なくアニメーションを使用しています。追加した後、それらを無視するか、少なくともアニメーションが使用されていないように見えます。私も minSdkVersion="8" でテストしましたが、悲しいことに、アニメーションを機能させるのに役立ちませんでした。また、両方を追加しようとしました: ( uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8")、同じ動作。マニフェストから minSdkVersion 項目を削除すると (ローカル テスト)、ViewFlipper が魅力的に機能します。Market では、マニフェストに minSdkVersion 項目がないと APK をアップロードできません。

これが何であるか知っている人はいますか?私の意見では、これは本当に奇妙な動作であり、アプリの品質/ユーザーエクスペリエンスを本当に低下させます. 誰かがこれを修正する方法を知っている場合は助けてください。

フリッパーを使用してコンテンツをめくる方法のコード スニペン。

// call for the flipper to show the next item
flipper.setInAnimation(AnimationHelper.inFromLeftAnimation());
flipper.setOutAnimation(AnimationHelper.outToRightAnimation());
flipper.showNext();

// animation example method
public static Animation inFromRightAnimation() {
  Animation inFromRight = new TranslateAnimation(
  Animation.RELATIVE_TO_PARENT, +1.0f,
  Animation.RELATIVE_TO_PARENT, 0.0f,
  Animation.RELATIVE_TO_PARENT, 0.0f,
  Animation.RELATIVE_TO_PARENT, 0.0f);
  inFromRight.setDuration(150);
  inFromRight.setInterpolator(new AccelerateInterpolator());
  return inFromRight;
}

// XML: current Android manifest config for minSdkVersion
<uses-sdk android:minSdkVersion="4" 
 android:targetSdkVersion="8" 
/>

よろしくお願いします、Mitja

4

1 に答える 1

1

実際、私はあなたが上で言ったことと同じような問題に遭遇しました。minSdkVersionを4以上に設定すると、すべてのアニメーションのパフォーマンスが低下します。ベンチマークログによると、Animation.applyTransformationとAnimation.getTransformationの間の最初の時間間隔が3〜6ミリ秒から100〜200ミリ秒に変更されます。これがポイントですが、理由を見つけるためにソースコードをさらにチェックする時間がありません。現在、私が使用している解決策は、minSdkVersionを3以下に設定することです。悪いコードですが動作します、役に立つことを願っています。

于 2011-06-24T01:56:39.030 に答える