package com.novoda.dropcap.demo; import android.app.Dialog; import android.app.DialogFragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.NumberPicker; import com.novoda.drop_cap.R; public class TextSizeDialogFragment extends DialogFragment { private OnTextSizeChangeListener onTextSizeChangeListener; private Button positiveButton; private Button negativeButton; private NumberPicker numberPicker; private int previousTextSize; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog(savedInstanceState); dialog.setTitle(getResources().getString(R.string.text_size_title)); return dialog; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_text_size_dialog, container); positiveButton = (Button) view.findViewById(R.id.text_size_button_positive); negativeButton = (Button) view.findViewById(R.id.text_size_button_negative); numberPicker = (NumberPicker) view.findViewById(R.id.typeface_picker); return view; } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); numberPicker.setMinValue(getResources().getDimensionPixelSize(R.dimen.text_size_number_picker_min)); numberPicker.setMaxValue(getResources().getDimensionPixelSize(R.dimen.text_size_number_picker_max)); numberPicker.setValue(previousTextSize); positiveButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { int newTextSize = numberPicker.getValue(); onTextSizeChangeListener.onSizeChanged(newTextSize); dismiss(); } } ); negativeButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } } ); } public void setTextSizeChangeListener(OnTextSizeChangeListener onTextSizeChangeListener) { this.onTextSizeChangeListener = onTextSizeChangeListener; } public void setPreviousTextSize(int previousTextSize) { this.previousTextSize = previousTextSize; } }