package br.edu.ufcg.ccc.projeto2.warofkingdoms.ui.dialogs; import android.app.Activity; import android.app.DialogFragment; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; import android.widget.LinearLayout; import br.edu.ufcg.ccc.projeto2.warofkingdoms.entities.Action; import br.edu.ufcg.ccc.projeto2.warofkingdoms.ui.OnActionSelectedListener; import br.ufcg.edu.ccc.projeto2.R; public class ChooseActionDialogFragment extends DialogFragment implements OnClickListener { private Action[] actions; private OnActionSelectedListener choiceListener; private ImageView attackActionBtn; private ImageView defenseActionBtn; @SuppressWarnings("unused") private LinearLayout actionDefenseLayout; private LinearLayout actionAttackLayout; private LinearLayout actionDialogDesignLayout; @Override public void onAttach(Activity activity) { super.onAttach(activity); try { this.choiceListener = (OnActionSelectedListener) activity; } catch (final ClassCastException e) { e.printStackTrace(); } } @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.action_dialog, container); getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE); getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0)); final WindowManager.LayoutParams params = getDialog().getWindow().getAttributes(); params.width = WindowManager.LayoutParams.WRAP_CONTENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; params.gravity = Gravity.CENTER; actionDefenseLayout = (LinearLayout) view.findViewById(R.id.action_defense_layout); actionAttackLayout = (LinearLayout) view.findViewById(R.id.action_attack_layout); actionDialogDesignLayout = (LinearLayout) view.findViewById(R.id.action_dialog_layout); attackActionBtn = (ImageView) view.findViewById(R.id.attack_action_button); attackActionBtn.setOnClickListener(this); defenseActionBtn = (ImageView) view.findViewById(R.id.defense_action_button); defenseActionBtn.setOnClickListener(this); if (actions.length == 1) { // only attack - hiding the defense action actionAttackLayout.setVisibility(View.GONE); actionDialogDesignLayout.setVisibility(View.GONE); } return view; } public void setActions(Action[] actions) { this.actions = actions; } @Override public void onClick(View v) { if (v == attackActionBtn) { choiceListener.onActionSelected(Action.ATTACK); dismiss(); } else if (v == defenseActionBtn) { choiceListener.onActionSelected(Action.DEFEND); dismiss(); } } }