# Palette.Builder

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact com.android.support:palette-v7:28.0.0-alpha1  
Summary:[Ctors](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#pubctors)\|[Methods](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#)  

# Palette.Builder

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public
static
final

class
Palette.Builder
`  
`

extends Object


``


`

|---|---------------------------------------------|
| java.lang.Object                               ||
| ↳ | android.support.v7.graphics.Palette.Builder |

<br />

*** ** * ** ***

Builder class for generating[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette)instances.

## Summary

|                                                                                                                                                                                                                                                                        ### Public constructors                                                                                                                                                                                                                                                                        ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#Palette.Builder(android.graphics.Bitmap))`(`[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)` bitmap) ` Construct a new[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)using a source[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)                                                                                                   |
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#Palette.Builder(java.util.List<android.support.v7.graphics.Palette.Swatch>))`(List<`[Palette.Swatch](https://developer.android.com/reference/android/support/v7/graphics/Palette.Swatch)`> swatches) ` Construct a new[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)using a list of[Palette.Swatch](https://developer.android.com/reference/android/support/v7/graphics/Palette.Swatch)instances. |

|                                                                                                                                                                                                                                                                                                                                               ### Public methods                                                                                                                                                                                                                                                                                                                                               ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)                                                                                                                                                             | ` `[addFilter](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#addFilter(android.support.v7.graphics.Palette.Filter))`(`[Palette.Filter](https://developer.android.com/reference/android/support/v7/graphics/Palette.Filter)` filter) ` Add a filter to be able to have fine grained control over which colors are allowed in the resulting palette.                                                |
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)                                                                                                                                                             | ` `[addTarget](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#addTarget(android.support.v7.graphics.Target))`(`[Target](https://developer.android.com/reference/android/support/v7/graphics/Target)` target) ` Add a target profile to be generated in the palette.                                                                                                                                |
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)                                                                                                                                                             | ` `[clearFilters](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#clearFilters())`() ` Clear all added filters.                                                                                                                                                                                                                                                                                     |
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)                                                                                                                                                             | ` `[clearRegion](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#clearRegion())`() ` Clear any previously region set via[setRegion(int, int, int, int)](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#setRegion(int, int, int, int)).                                                                                                                         |
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)                                                                                                                                                             | ` `[clearTargets](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#clearTargets())`() ` Clear all added targets.                                                                                                                                                                                                                                                                                     |
| ` `[AsyncTask](https://developer.android.com/reference/android/os/AsyncTask.html)`<`[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`, Void, `[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette)`>` | ` `[generate](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#generate(android.support.v7.graphics.Palette.PaletteAsyncListener))`(`[Palette.PaletteAsyncListener](https://developer.android.com/reference/android/support/v7/graphics/Palette.PaletteAsyncListener)` listener) ` Generate the[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette)asynchronously. |
| ` `[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette)                                                                                                                                                                             | ` `[generate](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#generate())`() ` Generate and return the[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette)synchronously.                                                                                                                                                                                          |
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)                                                                                                                                                             | ` `[maximumColorCount](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#maximumColorCount(int))`(int colors) ` Set the maximum number of colors to use in the quantization step when using a[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)as the source.                                                                                                             |
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)                                                                                                                                                             | ` `[resizeBitmapArea](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#resizeBitmapArea(int))`(int area) ` Set the resize value when using a[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)as the source.                                                                                                                                                             |
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)                                                                                                                                                             | ` `[resizeBitmapSize](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#resizeBitmapSize(int))`(int maxDimension) ` *This method was deprecated in API level 24.1.0. Using[resizeBitmapArea(int)](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#resizeBitmapArea(int))is preferred since it can handle abnormal aspect ratios more gracefully.*                 |
| ` `[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)                                                                                                                                                             | ` `[setRegion](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#setRegion(int, int, int, int))`(int left, int top, int right, int bottom) ` Set a region of the bitmap to be used exclusively when calculating the palette.                                                                                                                                                                          |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#)From class` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### Palette.Builder

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder (Bitmap bitmap)
```

Construct a new[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)using a source[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)

<br />

|        Parameters         ||
|----------|-----------------|
| `bitmap` | `Bitmap` <br /> |

### Palette.Builder

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder (List<Palette.Swatch> swatches)
```

Construct a new[Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)using a list of[Palette.Swatch](https://developer.android.com/reference/android/support/v7/graphics/Palette.Swatch)instances. Typically only used for testing.

<br />

|        Parameters         ||
|------------|---------------|
| `swatches` | `List` <br /> |

## Public methods

### addFilter

added in[version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder addFilter (Palette.Filter filter)
```

Add a filter to be able to have fine grained control over which colors are allowed in the resulting palette.

<br />

|                    Parameters                     ||
|----------|-----------------------------------------|
| `filter` | `Palette.Filter`: filter to add. <br /> |

|                                                    Returns                                                     ||
|--------------------------------------------------------------------------------------------------------|--------|
| [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder) | <br /> |

### addTarget

added in[version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder addTarget (Target target)
```

Add a target profile to be generated in the palette.

You can retrieve the result via[getSwatchForTarget(Target)](https://developer.android.com/reference/android/support/v7/graphics/Palette#getSwatchForTarget(android.support.v7.graphics.Target)).

<br />

<br />

|        Parameters         ||
|----------|-----------------|
| `target` | `Target` <br /> |

|                                                    Returns                                                     ||
|--------------------------------------------------------------------------------------------------------|--------|
| [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder) | <br /> |

### clearFilters

added in[version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder clearFilters ()
```

Clear all added filters. This includes any default filters added automatically by[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette).

<br />

|                                                    Returns                                                     ||
|--------------------------------------------------------------------------------------------------------|--------|
| [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder) | <br /> |

### clearRegion

added in[version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder clearRegion ()
```

Clear any previously region set via[setRegion(int, int, int, int)](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#setRegion(int, int, int, int)).

<br />

|                                                    Returns                                                     ||
|--------------------------------------------------------------------------------------------------------|--------|
| [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder) | <br /> |

### clearTargets

added in[version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder clearTargets ()
```

Clear all added targets. This includes any default targets added automatically by[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette).

<br />

|                                                    Returns                                                     ||
|--------------------------------------------------------------------------------------------------------|--------|
| [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder) | <br /> |

### generate

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
AsyncTask<Bitmap, Void, Palette> generate (Palette.PaletteAsyncListener listener)
```

Generate the[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette)asynchronously. The provided listener's[onGenerated(Palette)](https://developer.android.com/reference/android/support/v7/graphics/Palette.PaletteAsyncListener#onGenerated(android.support.v7.graphics.Palette))method will be called with the palette when generated.

<br />

|                    Parameters                     ||
|------------|---------------------------------------|
| `listener` | `Palette.PaletteAsyncListener` <br /> |

|                                                                                                                                  Returns                                                                                                                                   ||
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|
| [AsyncTask](https://developer.android.com/reference/android/os/AsyncTask.html)`<`[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)`, Void, `[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette)`>` | <br /> |

### generate

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette generate ()
```

Generate and return the[Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette)synchronously.

<br />

|                                            Returns                                             ||
|----------------------------------------------------------------------------------------|--------|
| [Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette) | <br /> |

### maximumColorCount

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder maximumColorCount (int colors)
```

Set the maximum number of colors to use in the quantization step when using a[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)as the source.

Good values for depend on the source image type. For landscapes, good values are in the range 10-16. For images which are largely made up of people's faces then this value should be increased to \~24.

<br />

|       Parameters       ||
|----------|--------------|
| `colors` | `int` <br /> |

|                                                    Returns                                                     ||
|--------------------------------------------------------------------------------------------------------|--------|
| [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder) | <br /> |

### resizeBitmapArea

added in[version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder resizeBitmapArea (int area)
```

Set the resize value when using a[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)as the source. If the bitmap's area is greater than the value specified, then the bitmap will be resized so that its area matches`area`. If the bitmap is smaller or equal, the original is used as-is.

This value has a large effect on the processing time. The larger the resized image is, the greater time it will take to generate the palette. The smaller the image is, the more detail is lost in the resulting image and thus less precision for color selection.

<br />

|                                                                Parameters                                                                 ||
|--------|-----------------------------------------------------------------------------------------------------------------------------------|
| `area` | `int`: the number of pixels that the intermediary scaled down Bitmap should cover, or any value \<= 0 to disable resizing. <br /> |

|                                                    Returns                                                     ||
|--------------------------------------------------------------------------------------------------------|--------|
| [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder) | <br /> |

### resizeBitmapSize

added in[version 22.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder resizeBitmapSize (int maxDimension)
```

<br />

**This method was deprecated in API level 24.1.0.**   
Using[resizeBitmapArea(int)](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder#resizeBitmapArea(int))is preferred since it can handle abnormal aspect ratios more gracefully.

Set the resize value when using a[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html)as the source. If the bitmap's largest dimension is greater than the value specified, then the bitmap will be resized so that its largest dimension matches`maxDimension`. If the bitmap is smaller or equal, the original is used as-is.

<br />

|                                                                 Parameters                                                                  ||
|----------------|-----------------------------------------------------------------------------------------------------------------------------|
| `maxDimension` | `int`: the number of pixels that the max dimension should be scaled down to, or any value \<= 0 to disable resizing. <br /> |

|                                                    Returns                                                     ||
|--------------------------------------------------------------------------------------------------------|--------|
| [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder) | <br /> |

### setRegion

added in[version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
Palette.Builder setRegion (int left, 
                int top, 
                int right, 
                int bottom)
```

Set a region of the bitmap to be used exclusively when calculating the palette.

This only works when the original input is a[Bitmap](https://developer.android.com/reference/android/graphics/Bitmap.html).

<br />

<br />

|                                  Parameters                                  ||
|----------|--------------------------------------------------------------------|
| `left`   | `int`: The left side of the rectangle used for the region. <br />  |
| `top`    | `int`: The top of the rectangle used for the region. <br />        |
| `right`  | `int`: The right side of the rectangle used for the region. <br /> |
| `bottom` | `int`: The bottom of the rectangle used for the region. <br />     |

|                                                    Returns                                                     ||
|--------------------------------------------------------------------------------------------------------|--------|
| [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder) | <br /> |

-

  ## Interfaces

  - [Palette.Filter](https://developer.android.com/reference/android/support/v7/graphics/Palette.Filter)
  - [Palette.PaletteAsyncListener](https://developer.android.com/reference/android/support/v7/graphics/Palette.PaletteAsyncListener)
-

  ## Classes

  - [Palette](https://developer.android.com/reference/android/support/v7/graphics/Palette)
  - [Palette.Builder](https://developer.android.com/reference/android/support/v7/graphics/Palette.Builder)
  - [Palette.Swatch](https://developer.android.com/reference/android/support/v7/graphics/Palette.Swatch)
  - [Target](https://developer.android.com/reference/android/support/v7/graphics/Target)
  - [Target.Builder](https://developer.android.com/reference/android/support/v7/graphics/Target.Builder)