package yifeiyuan.practice.practicedemos.reveal;
import android.os.Bundle;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.TextView;
import butterknife.ButterKnife;
import butterknife.InjectView;
import yifeiyuan.practice.practicedemos.R;
import yifeiyuan.practice.practicedemos.base.BaseActivity;
public class RevealActivity extends BaseActivity {
@InjectView(R.id.bg_reval)
RevealBackgroundView mBgReval;
@InjectView(R.id.tv_reval)
TextView mTvReval;
@InjectView(R.id.v_reveal)
RevealView mVReveal;
@Override
protected int getLayoutId() {
return R.layout.activity_reval;
}
@Override
protected void init(Bundle savedInstanceState) {
final int[] location = getIntent().getExtras().getIntArray("location");
mBgReval.setFillPaintColor(getResources().getColor(R.color.primary));
mBgReval.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
//必须remove掉 不然会重复调用
mBgReval.getViewTreeObserver().removeOnPreDrawListener(this);
mBgReval.startFromLocation(location);
return false;
}
});
mBgReval.setOnStateChangeListener(new RevealBackgroundView.OnStateChangeListener() {
@Override
public void onStateChange(int state) {
if (state == RevealBackgroundView.STATE_FINISHED) {
mBgReval.setVisibility(View.GONE);
mTvReval.setVisibility(View.VISIBLE);
}
}
});
// mVReveal.setCallback(new RevealView.Callback() {
// @Override
// public void onRevealEnd() {
// mVReveal.setVisibility(View.GONE);
//
// mTvReval.setVisibility(View.VISIBLE);
// }
// });
//
// mVReveal.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
// @Override
// public boolean onPreDraw() {
// //必须remove掉 不然会重复调用
// mVReveal.getViewTreeObserver().removeOnPreDrawListener(this);
// mVReveal.startReveal();
// return false;
// }
// });
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.inject(this);
}
}