/** * Copyright (C) 2005-2012 XELOG AG */ package ch.spherIC.recurvebowsight.components; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; import ch.spherIC.recurvebowsight.R; /** * @author FC Smilari */ public class FontArrayAdapter extends ArrayAdapter { private Spinner parentSpinner; /** * @param context * @param textViewResourceId * @param objects */ public FontArrayAdapter(final Context context, final int textViewResourceId, final O[] objects, final Spinner parent) { super(context, textViewResourceId, objects); this.parentSpinner = parent; } @Override public View getView(final int position, final View convertView, final ViewGroup parent) { return getCustomView(position, convertView, parent, false); } @Override public View getDropDownView(final int position, final View convertView, final ViewGroup parent) { return getCustomView(position, convertView, parent, true); } protected LayoutInflater getLayoutInflater() { return (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); } protected View getCustomView(final int position, final View convertView, final ViewGroup parent, final boolean dropdown) { LayoutInflater inflater = getLayoutInflater(); View spinnerItem = inflater.inflate(R.layout.rbs_spinner, parent, false); TextView textView = (TextView) spinnerItem.findViewById(R.id.spinner_view); textView.setText(getItem(position).toString()); if (dropdown) { if (this.parentSpinner.getSelectedItemPosition() == position) { textView.setTextColor(getContext().getResources().getColor(R.color.android_blue_dark)); } else { textView.setTextColor(getContext().getResources().getColor(R.color.black)); } textView.setPadding(20, 20, 20, 20); } return spinnerItem; } }