package com.yokmama.learn10.chapter07.lesson34.ui.base;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.IdRes;
import android.view.View;
import android.widget.Button;
import com.yokmama.learn10.chapter07.lesson34.R;
import com.yokmama.learn10.chapter07.lesson34.ui.TransitionsAfterActivity;
/**
* Created by kayo on 15/04/15.
*/
public abstract class TransitionsBaseActivity extends Activity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_transitions_base);
Button btnPink = (Button) findViewById(R.id.action_pink);
Button btnLightGreen = (Button) findViewById(R.id.action_light_green);
Button btnBlue = (Button) findViewById(R.id.action_blue);
btnPink.setBackgroundResource(R.drawable.fab_pink);
btnLightGreen.setBackgroundResource(R.drawable.fab_light_green);
btnBlue.setBackgroundResource(R.drawable.fab_blue);
btnPink.setOnClickListener(this);
btnLightGreen.setOnClickListener(this);
btnBlue.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// 各種ボタンを押下した時に実行される
Button vButton = (Button) v;
int id = v.getId();
if (id == R.id.action_pink) {
onClickCircleButton(vButton, R.color.md_pink_500, R.color.md_pink_700, R.drawable.fab_pink);
} else if (id == R.id.action_light_green) {
onClickCircleButton(vButton, R.color.md_light_green_500, R.color.md_light_green_700, R.drawable.fab_light_green);
} else if (id == R.id.action_blue) {
onClickCircleButton(vButton, R.color.md_blue_500, R.color.md_blue_700, R.drawable.fab_blue);
} else {
// いずれにも、ボタン押下
throw new RuntimeException("No match btnId");
}
}
protected void onClickCircleButton(@IdRes Button buttonView, @ColorRes int colorPrimaryResId, @ColorRes int colorPrimaryDarkResId, @DrawableRes int backgroundResId) {
// 遷移先渡す情報をIntentに詰める
Intent intent = new Intent(this, TransitionsAfterActivity.class);
intent.putExtra(TransitionsAfterActivity.EXTRA_COLOR_PRIMARY_ID, colorPrimaryResId);
intent.putExtra(TransitionsAfterActivity.EXTRA_COLOR_PRIMARY_DARK_ID, colorPrimaryDarkResId);
intent.putExtra(TransitionsAfterActivity.EXTRA_BACKGROUND_ID, backgroundResId);
// 遷移先の android:transitionName とマッチする
startActivity(intent);
}
}