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.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import com.novoda.drop_cap.R;
public class TypefaceDialogFragment extends DialogFragment {
private OnTypefaceChangeListener onTypefaceChangeListener;
private Button positiveButton;
private Button negativeButton;
private Spinner typefacePicker;
private FontType previousFontType;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.setTitle(getResources().getString(R.string.typeface_title));
return dialog;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_typeface_dialog, container);
positiveButton = (Button) view.findViewById(R.id.text_size_button_positive);
negativeButton = (Button) view.findViewById(R.id.text_size_button_negative);
typefacePicker = (Spinner) view.findViewById(R.id.typeface_picker);
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ArrayAdapter<FontType> fonts = new ArrayAdapter<>(
view.getContext(),
android.R.layout.simple_spinner_item,
FontType.values()
);
typefacePicker.setAdapter(fonts);
int previousSelectedPosition = fonts.getPosition(previousFontType);
typefacePicker.setSelection(previousSelectedPosition);
positiveButton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
String fontName = typefacePicker.getSelectedItem().toString();
FontType fontType = FontType.valueOf(fontName);
onTypefaceChangeListener.onTypefaceChanged(fontType);
dismiss();
}
}
);
negativeButton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
}
);
}
public void setTextSizeChangeListener(OnTypefaceChangeListener onTypefaceChangeListener) {
this.onTypefaceChangeListener = onTypefaceChangeListener;
}
public void setPreviousFontType(FontType previousFontType) {
this.previousFontType = previousFontType;
}
}