package com.yokmama.learn10.chapter07.lesson34.ui; import com.yokmama.learn10.chapter07.lesson34.R; import android.annotation.TargetApi; import android.os.Build; import android.os.Bundle; import android.support.v4.app.Fragment; import android.transition.TransitionInflater; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; /** * Created by kayo on 15/04/15. */ @TargetApi(Build.VERSION_CODES.LOLLIPOP) public class FragmentTransitionsFragment extends Fragment { private static final String EXTRA_PAGE = "extra.PAGE"; private static final String EXTRA_TRANSITIONS_TYPE_VIEW_ID = "extra.TRANSITIONS_TYPE_VIEW_ID"; /** 背景のカラー一覧 */ private static int[] MD_COLORS = new int[] { R.color.md_purple_800, R.color.md_purple_500, R.color.md_pink_700, }; public static FragmentTransitionsFragment newInstance(int page, int viewId) { FragmentTransitionsFragment f = new FragmentTransitionsFragment(); Bundle args = new Bundle(); args.putInt(EXTRA_PAGE, page); args.putInt(EXTRA_TRANSITIONS_TYPE_VIEW_ID, viewId); f.setArguments(args); return f; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_fragment_transitions, container, false); TextView textView = (TextView) v.findViewById(R.id.text); // 現在のページ数でテキストと背景を設定 int page = getPage(); v.setBackgroundResource(MD_COLORS[page % MD_COLORS.length]); textView.setText(String.valueOf(page)); return v; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // 指定されたタイプの Transitions を設定 int viewId = getArguments().getInt(EXTRA_TRANSITIONS_TYPE_VIEW_ID); if (viewId == R.id.btn_add_fragment_explode) { } else if (viewId == R.id.btn_add_fragment_fade) { } else if (viewId == R.id.btn_add_fragment_slide) { } else { // "NONE"押下時。この場合何もセットしない } } public int getPage() { Bundle arguments = getArguments(); if (arguments != null) { return getArguments().getInt(EXTRA_PAGE); } return 0; } }