public static ColorPickerDialog newInstance(int titleResId, int[] colors, int selectedColor, int columns, int size) { ColorPickerDialog ret = new ColorPickerDialog(); ret.initialize(titleResId, colors, selectedColor, columns, size); return ret; }
public void setColors(int[] colors) { if (mColors != colors) { mColors = colors; refreshPalette(); } }
@Override public void onClick(View v) { if (mOnColorSelectedListener != null) { mOnColorSelectedListener.onColorSelected(mColor); } } }
@Override public void onColorSelected(int color) { if (mListener != null) { mListener.onColorSelected(color); } if (getTargetFragment() instanceof OnColorSelectedListener) { final OnColorSelectedListener listener = (OnColorSelectedListener) getTargetFragment(); listener.onColorSelected(color); } if (color != mSelectedColor) { mSelectedColor = color; // Redraw palette to show checkmark on newly selected color before dismissing. mPalette.drawPalette(mColors, mSelectedColor); } dismiss(); }
public ColorPickerSwatch(Context context, int color, boolean checked, OnColorSelectedListener listener) { super(context); mColor = color; mOnColorSelectedListener = listener; LayoutInflater.from(context).inflate(R.layout.color_picker_swatch, this); mSwatchImage = (ImageView) findViewById(R.id.color_picker_swatch); mCheckmarkImage = (ImageView) findViewById(R.id.color_picker_checkmark); setColor(color); setChecked(checked); setOnClickListener(this); }
/** * Creates a color swatch. */ private ColorPickerSwatch createColorSwatch(int color, int selectedColor) { ColorPickerSwatch view = new ColorPickerSwatch(getContext(), color, color == selectedColor, mOnColorSelectedListener); TableRow.LayoutParams params = new TableRow.LayoutParams(mSwatchLength, mSwatchLength); params.setMargins(mMarginSize, mMarginSize, mMarginSize, mMarginSize); view.setLayoutParams(params); return view; } }
@Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Activity activity = getActivity(); View view = LayoutInflater.from(getActivity()).inflate(R.layout.color_picker_dialog, null); mProgress = (ProgressBar) view.findViewById(android.R.id.progress); mPalette = (ColorPickerPalette) view.findViewById(R.id.color_picker); mPalette.init(mSize, mColumns, this); if (mColors != null) { showPaletteView(); } mAlertDialog = new AlertDialog.Builder(activity) .setTitle(mTitleResId) .setView(view) .create(); return mAlertDialog; }
public void initialize(int titleResId, int[] colors, int selectedColor, int columns, int size) { setArguments(titleResId, columns, size); setColors(colors, selectedColor); }
public void showPaletteView() { if (mProgress != null && mPalette != null) { mProgress.setVisibility(View.GONE); refreshPalette(); mPalette.setVisibility(View.VISIBLE); } }
protected void setColor(int color) { Drawable[] colorDrawable = new Drawable[] {getContext().getResources().getDrawable(R.drawable.color_picker_swatch)}; mSwatchImage.setImageDrawable(new ColorStateDrawable(colorDrawable, color)); }
/** * Creates a blank space to fill the row. */ private ImageView createBlankSpace() { ImageView view = new ImageView(getContext()); TableRow.LayoutParams params = new TableRow.LayoutParams(mSwatchLength, mSwatchLength); params.setMargins(mMarginSize, mMarginSize, mMarginSize, mMarginSize); view.setLayoutParams(params); return view; }
private void refreshPalette() { if (mPalette != null && mColors != null) { mPalette.drawPalette(mColors, mSelectedColor); } }
public void showProgressBarView() { if (mProgress != null && mPalette != null) { mProgress.setVisibility(View.VISIBLE); mPalette.setVisibility(View.GONE); } }
public void setArguments(int titleResId, int columns, int size) { Bundle bundle = new Bundle(); bundle.putInt(KEY_TITLE_ID, titleResId); bundle.putInt(KEY_COLUMNS, columns); bundle.putInt(KEY_SIZE, size); setArguments(bundle); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { mTitleResId = getArguments().getInt(KEY_TITLE_ID); mColumns = getArguments().getInt(KEY_COLUMNS); mSize = getArguments().getInt(KEY_SIZE); } if (savedInstanceState != null) { mColors = savedInstanceState.getIntArray(KEY_COLORS); mSelectedColor = (Integer) savedInstanceState.getSerializable(KEY_SELECTED_COLOR); } }
/** * Initialize the size, columns, and listener. Size should be a pre-defined size (SIZE_LARGE * or SIZE_SMALL) from ColorPickerDialogFragment. */ public void init(int size, int columns, OnColorSelectedListener listener) { mNumColumns = columns; Resources res = getResources(); if (size == ColorPickerDialog.SIZE_LARGE) { mSwatchLength = res.getDimensionPixelSize(R.dimen.color_swatch_large); mMarginSize = res.getDimensionPixelSize(R.dimen.color_swatch_margins_large); } else { mSwatchLength = res.getDimensionPixelSize(R.dimen.color_swatch_small); mMarginSize = res.getDimensionPixelSize(R.dimen.color_swatch_margins_small); } mOnColorSelectedListener = listener; mDescription = res.getString(R.string.color_swatch_description); mDescriptionSelected = res.getString(R.string.color_swatch_description_selected); }
@Override protected boolean onStateChange(int[] states) { boolean pressedOrFocused = false; for (int state : states) { if (state == android.R.attr.state_pressed || state == android.R.attr.state_focused) { pressedOrFocused = true; break; } } if (pressedOrFocused) { super.setColorFilter(getPressedColor(mColor), PorterDuff.Mode.SRC_ATOP); } else { super.setColorFilter(mColor, PorterDuff.Mode.SRC_ATOP); } return super.onStateChange(states); }
public void setSelectedColor(int color) { if (mSelectedColor != color) { mSelectedColor = color; refreshPalette(); } }
private TableRow createTableRow() { TableRow row = new TableRow(getContext()); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); row.setLayoutParams(params); return row; }
public void setColors(int[] colors, int selectedColor) { if (mColors != colors || mSelectedColor != selectedColor) { mColors = colors; mSelectedColor = selectedColor; refreshPalette(); } }