public View buildView() {
    View mainView = loadViewFromXml(R.layout.color_picker);

    picker = (ColorPicker) mainView.findViewById(R.id.picker);
    //		svBar = (SVBar) findViewById(R.id.svbar);
    //		opacityBar = (OpacityBar) findViewById(R.id.opacitybar);
    saturationBar = (SaturationBar) mainView.findViewById(R.id.saturationbar);
    //		valueBar = (ValueBar) findViewById(R.id.valuebar);

    oldColorHex = Project4App.getApp(context).getEditProjectColorString();
    int oldColor = Color.parseColor(oldColorHex);

    picker.setColor(oldColor);
    picker.setOldCenterColor(oldColor);

    //		picker.addSVBar(svBar);
    //		picker.addValueBar(valueBar);
    //		picker.addOpacityBar(opacityBar);
    picker.addSaturationBar(saturationBar);

    //		picker.setOnColorChangedListener(this);
    //		picker.setShowOldCenterColor(false);

    return mainView;
  }
Beispiel #2
0
  private void showColorPickerDialog(
      Context context, int preColor, final ColorPicker.OnColorChangedListener listener) {
    AlertDialog.Builder builder = new AlertDialog.Builder(context, AlertDialog.THEME_HOLO_DARK);
    LinearLayout linearLayout = new LinearLayout(context);
    linearLayout.setOrientation(LinearLayout.VERTICAL);
    LinearLayout.LayoutParams params =
        new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    linearLayout.setLayoutParams(params);
    final ColorPicker picker = new ColorPicker(context);
    picker.setLayoutParams(params);
    OpacityBar opacityBar = new OpacityBar(context);
    opacityBar.setLayoutParams(params);
    SaturationBar saturationBar = new SaturationBar(context);
    saturationBar.setLayoutParams(params);
    ValueBar valueBar = new ValueBar(context);
    valueBar.setLayoutParams(params);
    linearLayout.addView(picker);
    linearLayout.addView(opacityBar);
    linearLayout.addView(saturationBar);
    linearLayout.addView(valueBar);
    picker.addOpacityBar(opacityBar);
    picker.addSaturationBar(saturationBar);
    picker.addValueBar(valueBar);
    picker.setOldCenterColor(preColor);
    picker.setColor(preColor);
    builder.setView(linearLayout);

    builder.setPositiveButton(
        "OK",
        new DialogInterface.OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog, int which) {
            setColor(picker.getColor());
            listener.onColorChanged(picker.getColor());
          }
        });
    builder.setNegativeButton(
        "Cancel",
        new DialogInterface.OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
          }
        });
    AlertDialog alertDialog = builder.create();
    alertDialog.setCanceledOnTouchOutside(false);
    alertDialog.show();
  }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.themechooser);

    // Google Analytics
    // Get a Tracker (should auto-report)
    ((Frontend) getApplication()).getTracker(Frontend.TrackerName.APP_TRACKER);

    int int_color = Color.parseColor("#222222");
    int ab_theme =
        PreferenceManager.getDefaultSharedPreferences(this).getInt("ab_theme", int_color);
    ActionBar ab = getActionBar();
    ab.setSubtitle("Theme Chooser");
    ab.setBackgroundDrawable(new ColorDrawable(ab_theme));
    ab.setDisplayHomeAsUpEnabled(true);

    final TextView tv1 = (TextView) findViewById(R.id.textView1);
    tv1.setText("Sample");
    tv1.setTextSize(50);

    final ColorPicker picker = (ColorPicker) findViewById(R.id.picker);
    SVBar svBar = (SVBar) findViewById(R.id.svbar);
    OpacityBar opacityBar = (OpacityBar) findViewById(R.id.opacitybar);

    picker.addSVBar(svBar);
    picker.addOpacityBar(opacityBar);

    // To get color
    picker.getColor();

    // To apply previously selected color
    picker.setShowOldCenterColor(true);

    // Intent listener
    final boolean ab_intent = getIntent().getExtras().getBoolean("ab_theme");
    final boolean text_intent = getIntent().getExtras().getBoolean("text_theme");
    final boolean poppy_intent = getIntent().getExtras().getBoolean("poppy_theme");
    final boolean nav_intent = getIntent().getExtras().getBoolean("nav_theme");

    // Applying previously selected color
    // Action bar
    if (ab_intent) {
      ab.setTitle("Action Bar");
      int ab_def_color = Color.parseColor("#222222");
      int ab_color =
          PreferenceManager.getDefaultSharedPreferences(this).getInt("ab_theme", ab_def_color);
      picker.setOldCenterColor(ab_color);
      picker.setColor(ab_color);
      tv1.setTextColor(ab_color);
    }
    // Poppy bar
    if (poppy_intent) {
      ab.setTitle("Poppy Bar");
      int poppy_def_color = Color.parseColor("#222222");
      int poppy_color =
          PreferenceManager.getDefaultSharedPreferences(this)
              .getInt("poppy_theme", poppy_def_color);
      picker.setOldCenterColor(poppy_color);
      picker.setColor(poppy_color);
      tv1.setTextColor(poppy_color);
    }
    // Text color
    if (text_intent) {
      ab.setTitle("Lyrics Text");
      int text_def_color = Color.parseColor("#222222");
      int text_color =
          PreferenceManager.getDefaultSharedPreferences(this).getInt("text_theme", text_def_color);
      picker.setOldCenterColor(text_color);
      picker.setColor(text_color);
      tv1.setTextColor(text_color);
    }
    // Navigation drawer
    if (nav_intent) {
      ab.setTitle("Navigation Drawer");
      int nav_def_color = Color.parseColor("#222222");
      int nav_color =
          PreferenceManager.getDefaultSharedPreferences(this).getInt("nav_theme", nav_def_color);
      picker.setOldCenterColor(nav_color);
      picker.setColor(nav_color);
      tv1.setTextColor(nav_color);
    }

    // Hint colors
    ImageButton ib1 = (ImageButton) findViewById(R.id.imageButton1);
    ImageButton ib2 = (ImageButton) findViewById(R.id.imageButton2);
    ImageButton ib3 = (ImageButton) findViewById(R.id.imageButton3);
    ImageButton ib4 = (ImageButton) findViewById(R.id.imageButton4);
    ImageButton ib5 = (ImageButton) findViewById(R.id.imageButton5);
    // Hint color click listeners
    ib1.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View arg0) {
            // TODO Auto-generated method stub
            // int darksky = Color.parseColor("#464ea3");
            picker.setColor(-12165121);
          }
        });
    ib2.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            // TODO Auto-generated method stub
            int frooti = Color.parseColor("#fbba00");
            picker.setColor(frooti);
          }
        });
    ib3.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            // TODO Auto-generated method stub
            int lavender = Color.parseColor("#92278f");
            picker.setColor(lavender);
          }
        });
    ib4.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            // TODO Auto-generated method stub
            int lime = Color.parseColor("#669002");
            picker.setColor(lime);
          }
        });
    ib5.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View v) {
            // TODO Auto-generated method stub
            // int mojo = Color.parseColor("#c84741");
            picker.setColor(-42415);
          }
        });

    picker.setOnColorChangedListener(
        new OnColorChangedListener() {

          @Override
          public void onColorChanged(final int color) {
            // TODO Auto-generated method stub
            tv1.setTextColor(color);

            Button b = (Button) findViewById(R.id.button1);
            b.setOnClickListener(
                new OnClickListener() {

                  @Override
                  public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    if (ab_intent) {
                      SharedPreferences sp =
                          PreferenceManager.getDefaultSharedPreferences(ThemeChooser.this);
                      sp.edit().putInt("ab_theme", color).commit();
                      Toast.makeText(ThemeChooser.this, "Applied", Toast.LENGTH_LONG).show();
                      // System.exit(0);
                      onBackPressed();
                    }

                    if (text_intent) {
                      SharedPreferences sp =
                          PreferenceManager.getDefaultSharedPreferences(ThemeChooser.this);
                      sp.edit().putInt("text_theme", color).commit();
                      Toast.makeText(ThemeChooser.this, "Applied", Toast.LENGTH_LONG).show();
                      // System.exit(0);
                      onBackPressed();
                    }

                    if (poppy_intent) {
                      SharedPreferences sp =
                          PreferenceManager.getDefaultSharedPreferences(ThemeChooser.this);
                      sp.edit().putInt("poppy_theme", color).commit();
                      Toast.makeText(ThemeChooser.this, "Applied", Toast.LENGTH_LONG).show();
                      // System.exit(0);
                      onBackPressed();
                    }

                    if (nav_intent) {
                      SharedPreferences sp =
                          PreferenceManager.getDefaultSharedPreferences(ThemeChooser.this);
                      sp.edit().putInt("nav_theme", color).commit();
                      Toast.makeText(ThemeChooser.this, "Applied", Toast.LENGTH_LONG).show();
                      // System.exit(0);
                      onBackPressed();
                    }
                  }
                });
          }
        });
  }
 @Override
 protected void onBindDialogView(View view) {
   super.onBindDialogView(view);
   mColorPickerView.setOldCenterColor(mValue);
   mColorPickerView.setColor(mValue);
 }
 /**
  * Set the color the color picker should highlight as selected color.
  *
  * @param color The RGB value of a color
  */
 public void setColor(String color) {
   int colorValue = Color.parseColor("#" + color);
   mColorPicker.setColor(colorValue);
   mColorPicker.setOldCenterColor(colorValue);
 }
Beispiel #6
0
  @Override
  public boolean onTouchEvent(MotionEvent event) {
    getParent().requestDisallowInterceptTouchEvent(true);

    // Convert coordinates to our internal coordinate system
    float x = event.getX() - mTranslationOffset;
    float y = event.getY() - mTranslationOffset;

    switch (event.getAction()) {
      case MotionEvent.ACTION_DOWN:
        // Check whether the user pressed on the pointer.
        float[] pointerPosition = calculatePointerPosition(mAngle);
        if (x >= (pointerPosition[0] - mColorPointerHaloRadius)
            && x <= (pointerPosition[0] + mColorPointerHaloRadius)
            && y >= (pointerPosition[1] - mColorPointerHaloRadius)
            && y <= (pointerPosition[1] + mColorPointerHaloRadius)) {
          mSlopX = x - pointerPosition[0];
          mSlopY = y - pointerPosition[1];
          mUserIsMovingPointer = true;
          invalidate();
        }
        // Check whether the user pressed on the center.
        else if (x >= -mColorCenterRadius
            && x <= mColorCenterRadius
            && y >= -mColorCenterRadius
            && y <= mColorCenterRadius
            && mShowCenterOldColor) {
          mCenterHaloPaint.setAlpha(0x50);
          setColor(getOldCenterColor());
          invalidate();
        }
        // Check whether the user pressed anywhere on the wheel.
        else if (Math.sqrt(x * x + y * y) <= mColorWheelRadius + mColorPointerHaloRadius
            && Math.sqrt(x * x + y * y) >= mColorWheelRadius - mColorPointerHaloRadius
            && mTouchAnywhereOnColorWheelEnabled) {
          mUserIsMovingPointer = true;
          invalidate();
        }
        // If user did not press pointer or center, report event not handled
        else {
          getParent().requestDisallowInterceptTouchEvent(false);
          return false;
        }
        break;
      case MotionEvent.ACTION_MOVE:
        if (mUserIsMovingPointer) {
          mAngle = (float) Math.atan2(y - mSlopY, x - mSlopX);
          mPointerColor.setColor(calculateColor(mAngle));

          setNewCenterColor(mCenterNewColor = calculateColor(mAngle));

          if (mOpacityBar != null) {
            mOpacityBar.setColor(mColor);
          }

          if (mValueBar != null) {
            mValueBar.setColor(mColor);
          }

          if (mSaturationBar != null) {
            mSaturationBar.setColor(mColor);
          }

          if (mSVbar != null) {
            mSVbar.setColor(mColor);
          }

          invalidate();
        }
        // If user did not press pointer or center, report event not handled
        else {
          getParent().requestDisallowInterceptTouchEvent(false);
          return false;
        }
        break;
      case MotionEvent.ACTION_UP:
        mUserIsMovingPointer = false;
        mCenterHaloPaint.setAlpha(0x00);

        if (onColorSelectedListener != null && mCenterNewColor != oldSelectedListenerColor) {
          onColorSelectedListener.onColorSelected(mCenterNewColor);
          oldSelectedListenerColor = mCenterNewColor;
        }

        invalidate();
        break;
      case MotionEvent.ACTION_CANCEL:
        if (onColorSelectedListener != null && mCenterNewColor != oldSelectedListenerColor) {
          onColorSelectedListener.onColorSelected(mCenterNewColor);
          oldSelectedListenerColor = mCenterNewColor;
        }
        break;
    }
    return true;
  }