WindowManager にビュー (customView) を追加しました。
WindowManager mWm = (WindowManager)activity.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams(WindowManager.LayoutParams.FILL_PARENT, 0, PixelFormat.TRANSPARENT);
mWl.dimAmount = 0.0f;
mWm.addView(customView, mWl);
カスタム ビュー内で、閉じるボタンが押されたときに翻訳アニメーションを呼び出します。
//// これはアニメーションのハンドラーです ////
final Handler translateHandler = new Handler();
final Runnable mtranslateUp = new Runnable() {
public void run() {
Log.v("TEST","mtranslateUp Runnable");
startAnimation(translateUp);
}
};
//// これは閉じるボタンのリスナーです////
View.OnClickListener closeButtonListener = new View.OnClickListener() {
public void onClick(View v) {
translateHandler.post(mtranslateUp);
}
};
//// 上に移動するアニメーションです ////
translateUp = new TranslateAnimation(0,0,0,-200);
translateUp.setFillAfter(true);
translateUp.setDuration(1000);
translateUp.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation animation) {
Log.v("TEST","translateUp onAnimationEnd");
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationStart(Animation animation) {
Log.v("TEST","translateUp onAnimationStart");
}}
);
customView がアクティビティに追加されている場合、これらのコードは正常に機能します。
customView が WindowManager に追加されると、onAnimationStart 内のログは表示されませんでしたが、Runnable 内のログは表示されます。
WindowManager に追加されたビューでアニメーションを行う方法を誰か教えてもらえますか?