package com.tiger.quicknews.wedget.gesture;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.View;
import android.widget.FrameLayout;
import com.tiger.quicknews.R;
import com.tiger.quicknews.wedget.gesture.GestureViewGroup.GestureViewGroupGoneListener;
/**
* 用于实现滑动关闭界面效果的辅助类 from SlideBaseActivity
*
* @author xuewenchao
*/
public class SlideActivityHelper {
private final Activity activity;
private GestureViewGroup gesturellView;
public SlideActivityHelper(Activity activity) {
this.activity = activity;
}
protected void onCreate() {
activity.overridePendingTransition(R.anim.slide_right_in, 0);
activity.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
gesturellView = new GestureViewGroup(activity);
gesturellView.setGestureViewGroupGoneListener(new GestureViewGroupGoneListener() {
@Override
public void onFinish() {
activity.finish(); // 界面滑动消失后,�?�� Activity�?
}
});
}
void onResume() {
FrameLayout decorView = (FrameLayout) activity.getWindow().getDecorView();
View decorView_child = decorView.getChildAt(0);
// 使用 GestureViewGroup 封装 DecorView 中的内容�?
if (!(decorView_child instanceof GestureViewGroup)) {
decorView.removeAllViews();
decorView_child.setBackgroundResource(R.drawable.window_background);
gesturellView.addView(decorView_child);
decorView.addView(gesturellView);
}
}
void finish() {
activity.overridePendingTransition(0, R.anim.slide_right_out);
}
}