私はiOSの揺れの非常に良い近似を作成しました(ホーム画面からアプリを削除するためにアイコンを長押ししたとき)。乱数の生成が必要なため、プログラムでコード内に適用する必要があります。
int dur1 = 70 + (int)(Math.random() * 30);
int dur2 = 70 + (int)(Math.random() * 30);
Animation an = new RotateAnimation(-3, 3, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
an.setDuration(dur1);
an.setRepeatCount(-1);
an.setRepeatMode(Animation.REVERSE);
an.setFillAfter(true);
Animation an2 = new TranslateAnimation(-TranslateAnimation.RELATIVE_TO_SELF,0.02f,
TranslateAnimation.RELATIVE_TO_SELF,0.02f,
-TranslateAnimation.RELATIVE_TO_SELF,0.02f,
TranslateAnimation.RELATIVE_TO_SELF,0.02f);
an2.setDuration(dur2);
an2.setRepeatCount(-1);
an2.setRepeatMode(Animation.REVERSE);
an2.setFillAfter(true);
AnimationSet s = new AnimationSet(false);
s.addAnimation(an);
s.addAnimation(an2);
itemView.setAnimation(s);
このコードは、アダプターのグリッドビュー(getView)内に適用されるように設計されていますが、最後の行を次のように変更することで、任意のビューに適用できます。
yourViewName.setAnimations(s);