package com.yaoyumeng.v2ex.ui.swipeback; import android.os.Bundle; import android.view.KeyEvent; import android.view.MenuItem; import android.view.View; import com.yaoyumeng.v2ex.R; import com.yaoyumeng.v2ex.ui.BaseActivity; public class SwipeBackActivity extends BaseActivity { private SwipeBackActivityHelper mHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mHelper = new SwipeBackActivityHelper(this); mHelper.onActivityCreate(); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); overridePendingTransition(R.anim.swipeback_stack_right_in, R.anim.swipeback_stack_to_back); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); mHelper.onPostCreate(); } @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ onBackPressed(); return true; }else{ return super.onKeyUp(keyCode, event); } } @Override public View findViewById(int id) { View v = super.findViewById(id); if (v == null && mHelper != null) return mHelper.findViewById(id); return v; } public SwipeBackLayout getSwipeBackLayout() { return mHelper.getSwipeBackLayout(); } @Override public void onBackPressed() { super.onBackPressed(); overridePendingTransition(R.anim.swipeback_stack_to_front, R.anim.swipeback_stack_right_out); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { onBackPressed(); return true; } return super.onOptionsItemSelected(item); } public void setSwipeBackEnable(boolean enable) { getSwipeBackLayout().setEnableGesture(enable); } }