package com.larswerkman.holocolorpicker;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.PopupWindow;
import android.widget.Toast;
import com.jarlen.picturetest.R;
import com.larswerkman.holocolorpicker.ColorPicker;
import com.larswerkman.holocolorpicker.ColorPicker.OnColorChangedListener;
import com.larswerkman.holocolorpicker.ColorPicker.OnColorSelectedListener;
import com.larswerkman.holocolorpicker.OpacityBar;
import com.larswerkman.holocolorpicker.SVBar;
import com.larswerkman.holocolorpicker.SaturationBar;
import com.larswerkman.holocolorpicker.ValueBar;
public class SelectColorPopup extends PopupWindow implements OnColorChangedListener, OnColorSelectedListener{
private View mMenuView;
private ColorPicker picker;
public int getColor()
{
return picker.getColor();
}
public SelectColorPopup(Activity context,OnClickListener itemsOnClick) {
super(context);
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mMenuView = inflater.inflate(R.layout.select_color, null);
picker = (ColorPicker) mMenuView.findViewById(R.id.picker);
SVBar svBar = (SVBar) mMenuView.findViewById(R.id.svbar);
OpacityBar opacityBar = (OpacityBar) mMenuView.findViewById(R.id.opacitybar);
SaturationBar saturationBar = (SaturationBar) mMenuView.findViewById(R.id.saturationbar);
ValueBar valueBar = (ValueBar) mMenuView.findViewById(R.id.valuebar);
Button submit = (Button) mMenuView.findViewById(R.id.submit);
submit.setOnClickListener(itemsOnClick);
picker.addSVBar(svBar);
picker.addOpacityBar(opacityBar);
picker.addSaturationBar(saturationBar);
picker.addValueBar(valueBar);
//To get the color
picker.getColor();
//To set the old selected color u can do it like this
picker.setOldCenterColor(picker.getColor());
// adds listener to the colorpicker which is implemented
//in the activity
picker.setOnColorChangedListener(this);
picker.setOnColorSelectedListener(this);
this.setContentView(mMenuView);
this.setWidth(LayoutParams.FILL_PARENT);
this.setHeight(LayoutParams.WRAP_CONTENT);
this.setFocusable(true);
ColorDrawable dw = new ColorDrawable(0xb0000000);
this.setBackgroundDrawable(dw);
mMenuView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
int height = mMenuView.findViewById(R.id.pop_layout).getTop();
int y=(int) event.getY();
if(event.getAction()==MotionEvent.ACTION_UP){
if(y<height){
dismiss();
}
}
return true;
}
});
}
@Override
public void onColorChanged(int color)
{
}
@Override
public void onColorSelected(int color)
{
}
}