找到一个非常好用滑动退出当前Activity的第三方库,写个Demo记录下。。。
public class ExampleActivity extends Activity { SlidrInterface slidrInterface; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); int primary = getResources().getColor(R.color.red); int secondary = getResources().getColor(R.color.green); SlidrConfig config = new SlidrConfig.Builder() .primaryColor(getResources().getColor(R.color.red)) .secondaryColor(getResources().getColor(R.color.green)) .position(SlidrPosition.HORIZONTAL) .sensitivity(1f)// 灵敏度 .scrimColor(Color.RED)//滑动剩余部分颜色 .scrimStartAlpha(1f)//滑动剩余部分颜色渐变起始值 .scrimEndAlpha(0f)//滑动剩余部分颜色渐变结束值 .velocityThreshold(2400)//速度阈值 .distanceThreshold(0.25f)//距离阈值(滑动距离占屏幕宽度的25%时退出) .edge(true)//从边缘开始滑动才能触发滑动 .edgeSize(0.18f)//计算为边缘的屏幕的百分比,默认为18% .listener(new SlidrListener() { @Override public void onSlideStateChanged(int state) { Log.i("slidr","onSlideStateChanged()"+state); } @Override public void onSlideChange(float percent) { Log.i("slidr","onSlideChange()"+percent); } @Override public void onSlideOpened() { Log.i("slidr","onSlideOpened()"); } @Override public void onSlideClosed() { Log.i("slidr","onSlideClosed()"); } }) .build(); slidrInterface = Slidr.attach(this,config); slidrInterface.lock();//锁定Activity不滑动 } @Override protected void onResume() { super.onResume(); slidrInterface.unlock();//解锁当前的Activity为可滑动状态 }
库在github上可以找到:https://github.com/r0adkll/Slidr