2014-07-01 12 views
5

Gibt es eine systembasierte Methode, um einen dieser Farbwähler aufzurufen, wie in der Google Kalender App? Oder habe ich es, um es selbst zu bauen?Google Kalender Farbauswahl

enter image description here

+0

wofür möchten Sie den Farbwähler? –

+0

gibt es eine androide Farbauswahl http://code.google.com/p/android-color-picker/ –

+0

http://v4all123.blogspot.ie/2013/06/simple-colourpicker-for-android.html –

Antwort

5

Sie müssen Color Picker Collection verwenden.

Umsetzung:

ColorPickerDialog colorcalendar = ColorPickerDialog.newInstance(
       R.string.color_picker_default_title, 
       mColor, 
       mSelectedColorCal0, 
       5, 
       Utils.isTablet(this)? ColorPickerDialog.SIZE_LARGE : ColorPickerDialog.SIZE_SMALL); 

    //Implement listener to get selected color value 
    colorcalendar.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener(){ 

       @Override 
       public void onColorSelected(int color) 
       { 
        // ADD MARKER 
        Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_mobileedge_navpoint); 
        bmp = changeBitmapColor(bmp, color); 

        googleMap.addMarker(new MarkerOptions() 
        .position(latLng) 
        .title("My Spot") 
        .snippet("This is my spot!") 
        .icon(BitmapDescriptorFactory.fromBitmap(bmp))); 
       } 

    }); 

    colorcalendar.show(getFragmentManager(),"cal"); 

Funktion Bitmap-Farbe zu ändern:

private Bitmap changeBitmapColor(Bitmap sourceBitmap, int color) { 

     Bitmap resultBitmap = Bitmap.createBitmap(sourceBitmap, 0, 0, 
       sourceBitmap.getWidth() - 1, sourceBitmap.getHeight() - 1); 
     Paint p = new Paint(); 
     ColorFilter filter = new LightingColorFilter(color, 1); 
     p.setColorFilter(filter); 

     Canvas canvas = new Canvas(resultBitmap); 
     canvas.drawBitmap(resultBitmap, 0, 0, p); 

     return resultBitmap; 
    } 

I getestet und es funktionierte gut! Der Marker muss komplett weiß sein, nur dann sind die Farben perfekt!

+0

Können Sie bitte auf dem gleichen – prat

+0

@prat erarbeiten was? – extmkv

+0

Ich habe auch die gleiche Anforderung wie oben angegeben. Die von Ihnen angegebene Bibliothek entspricht meiner Anforderung. Kannst du mir bitte helfen, die Bibliothek zu benutzen? – prat