package com.martin.ionichinabystudio.ui.activity; import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.os.Vibrator; import android.view.View; import android.widget.RadioGroup; import com.martin.ionichinabystudio.R; import com.martin.simpledevelop.utils.sp.PreferenceUtils; import com.martin.simpledevelop.widget.swipebacklayout.SwipeBackActivity; import com.martin.simpledevelop.widget.swipebacklayout.SwipeBackLayout; /** * Created by Martin on 2015/8/16. */ public class TempActivity extends SwipeBackActivity implements View.OnClickListener { private static final int VIBRATE_DURATION = 20; private int[] mBgColors; private static int mBgIndex = 0; private String mKeyTrackingMode; private RadioGroup mTrackingModeGroup; private SwipeBackLayout mSwipeBackLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_temp); findViews(); mKeyTrackingMode = getString(R.string.key_tracking_mode); mSwipeBackLayout = getSwipeBackLayout(); mTrackingModeGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { int edgeFlag; switch (checkedId) { case R.id.mode_left: edgeFlag = SwipeBackLayout.EDGE_LEFT; break; case R.id.mode_right: edgeFlag = SwipeBackLayout.EDGE_RIGHT; break; case R.id.mode_bottom: edgeFlag = SwipeBackLayout.EDGE_BOTTOM; break; default: edgeFlag = SwipeBackLayout.EDGE_ALL; } mSwipeBackLayout.setEdgeTrackingEnabled(edgeFlag); saveTrackingMode(edgeFlag); } }); mSwipeBackLayout.addSwipeListener(new SwipeBackLayout.SwipeListener() { @Override public void onScrollStateChange(int state, float scrollPercent) { } @Override public void onEdgeTouch(int edgeFlag) { vibrate(VIBRATE_DURATION); } @Override public void onScrollOverThreshold() { vibrate(VIBRATE_DURATION); } }); } @Override protected void onResume() { super.onResume(); restoreTrackingMode(); } private void saveTrackingMode(int flag) { PreferenceUtils.setPrefInt(getApplicationContext(), mKeyTrackingMode, flag); } private void restoreTrackingMode() { int flag = PreferenceUtils.getPrefInt(getApplicationContext(), mKeyTrackingMode, SwipeBackLayout.EDGE_LEFT); mSwipeBackLayout.setEdgeTrackingEnabled(flag); switch (flag) { case SwipeBackLayout.EDGE_LEFT: mTrackingModeGroup.check(R.id.mode_left); break; case SwipeBackLayout.EDGE_RIGHT: mTrackingModeGroup.check(R.id.mode_right); break; case SwipeBackLayout.EDGE_BOTTOM: mTrackingModeGroup.check(R.id.mode_bottom); break; case SwipeBackLayout.EDGE_ALL: mTrackingModeGroup.check(R.id.mode_all); break; } } private void findViews() { findViewById(R.id.btn_start).setOnClickListener(this); findViewById(R.id.btn_finish).setOnClickListener(this); mTrackingModeGroup = (RadioGroup) findViewById(R.id.tracking_mode); } private void vibrate(long duration) { Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); long[] pattern = { 0, duration }; vibrator.vibrate(pattern, -1); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_start: startActivity(new Intent(TempActivity.this, TempActivity.class)); break; case R.id.btn_finish: scrollToFinishActivity(); break; } } }