ColorPickerDialog.java :  » Client » androzic » com » androzic » ui » Android Open Source

Android Open Source » Client » androzic 
androzic » com » androzic » ui » ColorPickerDialog.java
package com.androzic.ui;

/*
 * Andrey Novikov, 2010.
 */

import android.R;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;

public class ColorPickerDialog extends AlertDialog implements OnClickListener, OnColorChangedListener
{
    private static final String COLOR = "color";

  private OnColorChangedListener mListener;
  private ColorPickerView mColorPicker;
    
  public ColorPickerDialog(Context context, OnColorChangedListener listener, int initialColor, int defaultColor, boolean buttons)
  {
    super(context);

        mListener = listener;
        mColorPicker = new ColorPickerView(getContext(), this, initialColor);
        setView(mColorPicker);
        
        if (buttons)
        {
          setButton(AlertDialog.BUTTON_POSITIVE, context.getText(R.string.ok), this);
          setButton(AlertDialog.BUTTON_NEGATIVE, context.getText(R.string.cancel), (OnClickListener) null);
        }
  }

  @Override
  public void onClick(DialogInterface dialog, int which)
  {
    if (mListener != null)
    {
      mListener.colorChanged(mColorPicker.getColor());
    }
  }

  @Override
  public void colorChanged(int color)
  {
    onClick(this, AlertDialog.BUTTON_POSITIVE);
    dismiss();
  }

    @Override
    public Bundle onSaveInstanceState()
    {
        Bundle state = super.onSaveInstanceState();
        state.putInt(COLOR, mColorPicker.getColor());
        return state;
    }
    
    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState)
    {
        super.onRestoreInstanceState(savedInstanceState);
        int color = savedInstanceState.getInt(COLOR);
        mColorPicker.setColor(color);
        mColorPicker.setOnColorChangedListener(this);
    }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.