Color picker library for Android

Overview

andColorPicker — Color Picker library for Android

🥑 Handy, 🐍 flexible, and lightning-fast Android color picker views and utilities.

andColorPicker logo

💊 Features

  • Clean, easy-to-use components and API
  • High performance
  • Material styling in mind
  • Standard Android SDK view family
  • Wide color models support
  • Tooling and utilities
  • Alpha channel support
  • Cutting edge tech stack
  • Active development and support

🔨 Setup

Gradle dependency:

implementation "codes.side:andcolorpicker:0.5.0"

🎨 Picker types

HSL (hue, saturation, lightness)

  • Add color model description

Layout XML Snippet

Basic HSL components:

<codes.side.andcolorpicker.hsl.HSLColorPickerSeekBar
  android:id="@+id/hueSeekBar"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  app:hslColoringMode="pure"
  app:hslMode="hue" />

Supported hslMode values:

  • hue (default)
  • saturation
  • lightness

Supported hslColoringMode values:

  • pure (default)
  • output

Alpha component:

<codes.side.andcolorpicker.alpha.HSLAlphaColorPickerSeekBar
  android:id="@+id/alphaSeekBar"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />

Kotlin Snippet

// Configure color model programmatically
hueSeekBar.mode = Mode.MODE_HUE // Mode.MODE_SATURATION, Mode.MODE_LIGHTNESS

// Configure coloring mode programmatically
hueSeekBar.coloringMode = ColoringMode.PURE_COLOR // ColoringMode.OUTPUT_COLOR

// Group pickers with PickerGroup to automatically synchronize color across them
val group = PickerGroup<IntegerHSLColor>().also {
  it.registerPickers(
    hueSeekBar,
    saturationSeekBar,
    lightnessSeekBar,
    alphaSeekBar
  )
}

// Get current color immediately
Log.d(
  TAG,
  "Current color is ${hueSeekBar.pickedColor}"
)

// Listen individual pickers or groups for changes
group.addListener(
  object : HSLColorPickerSeekBar.DefaultOnColorPickListener() {
    override fun onColorChanged(
      picker: ColorSeekBar<IntegerHSLColor>,
      color: IntegerHSLColor,
      value: Int
    ) {
      Log.d(
        TAG,
        "$color picked"
      )
      swatchView.setSwatchColor(
        color
      )
    }
  }
)

// Set desired color programmatically
group.setColor(
  IntegerHSLColor().also {
    it.setFromColorInt(
      Color.rgb(
        28,
        84,
        187
      )
    )
  }
)

// Set color components programmatically
hueSeekBar.progress = 50

RGB (red, green, blue)

Properties

  • View name: RGBColorPickerSeekBar
  • app:rgbMode for RGB component selection

LAB

Properties

  • View name: LABColorPickerSeekBar
  • app:labMode for LAB component selection

CMYK (cyan, magenta, yellow, key)

Properties

  • View name: CMYKColorPickerSeekBar
  • app:cmykMode for CMYK component selection
  • app:cmykColoringMode for coloring mode selection

Supported cmykMode values:

  • cyan (default)
  • magenta
  • yellow
  • black

Supported cmykColoringMode values:

  • pure (default)
  • output

Swatches

SwatchView component:

<codes.side.andcolorpicker.view.swatch.SwatchView
  android:id="@+id/swatchView"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />

Kotlin Snippet:

swatchView.setSwatchPatternTint(
  Color.LTGRAY
)

swatchView.setSwatchColor(
  IntegerHSLColor().also {
    it.setFromColorInt(
      ColorUtils.setAlphaComponent(
        Color.MAGENTA,
        128
      )
    )
  }
)

📝 License

Copyright 2020 Illia Achour

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • [BUG] android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class codes.side.andcolorpicker.hsl.HSLColorPickerSeekBar

    [BUG] android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class codes.side.andcolorpicker.hsl.HSLColorPickerSeekBar

    Describe the bug When I want to add the view to my main activity.xml I get an inflate error.

    To Reproduce Steps to reproduce the behavior:

    1. Add implementation "codes.side:andcolorpicker:0.5.0" to app/build.gradle
    2. Add: <codes.side.andcolorpicker.hsl.HSLColorPickerSeekBar android:layout_width="200dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" android:layout_height="wrap_content" app:hslMode="hue" /> to main_activity.xml
    3. Run the project
    4. See error

    Expected behavior It should run and the slider should be visible

    Extra information Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable.mutate()' on a null object reference at codes.side.andcolorpicker.view.picker.ColorSeekBar.setupBackground(ColorSeekBar.kt:121) at codes.side.andcolorpicker.view.picker.ColorSeekBar.<init>(ColorSeekBar.kt:106) 2021-04-06 12:16:53.779 24098-24098/com.prowise.service.pronote_2021 E/AndroidRuntime: at codes.side.andcolorpicker.view.picker.GradientColorSeekBar.<init>(GradientColorSeekBar.kt:16) at codes.side.andcolorpicker.hsl.HSLColorPickerSeekBar.<init>(HSLColorPickerSeekBar.kt:27) at codes.side.andcolorpicker.hsl.HSLColorPickerSeekBar.<init>(HSLColorPickerSeekBar.kt:25) at codes.side.andcolorpicker.hsl.HSLColorPickerSeekBar.<init>(Unknown Source:6) ... 30 more

    opened by JKorsten 2
  • Get hex value from IntegerHSLColor

    Get hex value from IntegerHSLColor

    I set a listener for the hue seekbar, then I wanted to get the Hex value for the picked color, so after some searching, I managed to write an extension function to accomplish just that, but it didn't work 😞

    fun IntegerHSLColor.toHex(): String {
        val color = floatArrayOf(floatH, floatS / 100, floatL / 100)
        val intColor = HSLToColor(color)
        val red: Int = Color.red(intColor)
        val green: Int = Color.green(intColor)
        val blue: Int = Color.blue(intColor)
        return String.format("#%02x%02x%02x", red, green, blue)
    }
    
    colorSeekbar.addListener(object :
              ColorSeekBar.OnColorPickListener<ColorSeekBar<IntegerHSLColor>, IntegerHSLColor> {
              override fun onColorPicked(
                  picker: ColorSeekBar<IntegerHSLColor>,
                  color: IntegerHSLColor,
                  value: Int,
                  fromUser: Boolean
              ) {
                  val colorHex = color.toHex()
                  "onColorPicked colorHex = $colorHex".log()
              }
    
              override fun onColorChanged(
                  picker: ColorSeekBar<IntegerHSLColor>,
                  color: IntegerHSLColor,
                  value: Int
              ) {}
    
              override fun onColorPicking(
                  picker: ColorSeekBar<IntegerHSLColor>,
                  color: IntegerHSLColor,
                  value: Int,
                  fromUser: Boolean
              ) {}
    
          })
    

    No matter what color I choose, it always logs this value :

    />>:  onColorPicked colorHex = #010101
    

    What am I doing wrong? is there a more straightforward way to get the hex value?

    opened by AlaaZarifa 2
  • Lower Minimum SDK

    Lower Minimum SDK

    Is your feature request related to a problem? Please describe. Current minimum SDK is set to API 21. For example my app supports back to API 19. I can't use this library :(

    Describe the solution you'd like Support lower API versions.

    enhancement 
    opened by Fabi755 2
  • Bump material from 1.4.0-rc01 to 1.8.0-beta01

    Bump material from 1.4.0-rc01 to 1.8.0-beta01

    Bumps material from 1.4.0-rc01 to 1.8.0-beta01.

    Release notes

    Sourced from material's releases.

    1.8.0-beta01

    What's new

    Dependency Updates

    • No dependency updates

    Library Updates

    • Side Sheet
      • Added coplanar side sheet with APIs for setting a coplanar sibling view. (8055a2c6c61883a779a763df6ad662eba4c740ed)
      • Set accessibility focus to the side sheet when expanded. (0949e9c272e42eed27e4795daa689331ea799673)
      • Release Side Sheet catalog demo. (f707836033913946d580e2bc6414e3800a99d45c)
      • Rebrand "Adaptive Sheets" demo to "Side Sheet". (7f17891b89792b5ef8e30013fc6d913b83dffcd9)
      • Fix vertically scrolling sheet swipe issue by deleting most of the nested scrolling code (3bc1f6e68384f490280373f1d73032fa12e37010)
      • Cancel modal side sheet scrim on STATE_HIDDEN. (0c4e4a7ff1752ece94f0c5bac814e00ec12bd0ce)
      • Restrict SheetDialog methods from the public API surface and rename getDismissWithAnimation. (9c8ea5862d0603e55cf1f6f54f8eab179536ffb5)
      • Add SideSheetCallback listener to SideSheetBehavior to track @​SheetState state change events. (99e09b08977ac44e3f4f2382d7f39689133514f9)
      • Renamed SheetEdge#RIGHT to SheetEdge#EDGE_RIGHT. (35d60519bf1f4806bedb2e376b322533c28ed224)
      • Made SheetDialog abstract base class and Sheet interface package-private. (0c35d1d852c053e3a5319d550e34dbd64f50b412)
      • Add @​RestrictTo annotations to restrict SheetEdge annotation interface. (e6ca949f3c9b8b6c495956e4a23a28c66a09e4ab)
      • Made SideSheetBehavior extendable. (f7b3aac02e474fd030f5ea94a87a5c5e7211867e)
    • SearchBar
      • Fixed issue that caused the wrong component to be focused on automatically when talkback is active. (8cbfd20c841aecac1baa234f017fc16ac91a4130)
      • Updated search bar/view UI to match spec and cleaned up the API. (d049b1bfe0d95ab53aa2a5e78e44f6840913c7a5)
      • Updated style to match updated M3 spec. (be8ff16d6632243a4528a655c20d4cb3b2a5225b)
      • Fixed package path in developer documentation. (73c47c2b91352c24cab045ed53b2ce5a2637f8f9)
      • Refactored status bar spacer edge-to-edge detection to work based on insets (38605f4a757ab283e4b353bf4051f22f0279ad57)
      • Updated search demo to change search bar hint (fafee33a869bf1be4d758d438b6f84a0ab95ef68)
      • Updated Catalog demo to change search bar/view demo title. (df85be268f9eed5c65f616d4e59c477a87073161)
    • Tabs
      • Fix bug with setScrollPosition not updating indicator due to onLayout call drawing the indicator below the selected tab. (1681b1daa9dc9b8c366e3c4144c664ae381596e8)
      • Fixing bug with animation flicker when using tabs with ViewPager2 (ab3f203caea0a724840d2cabee785995aa94ad28)
    • BottomAppBar
      • Request layout for FAB when BAB changes so that FAB will always be aware of BAB changes (10fe695ed989b7e7017b3ca28ee16aa6a54f16b8)
    • Transitions / Motion
      • Motion tweaks (1236a90896710150f6a4b692a49b3e7b2fa37269)
    • MaterialDatePicker
      • Update text appearances (ffbf8351958a122ac7b4a42ff1747eb88c2c7ade)
    • Catalog
      • Fix incorrect time stamps (305e19df335f18f4fb3bdbb389b82f76bdef4ad8)
      • Applied edge-to-edge to preferences bottom sheet (c440d868f83d79ed7b9a9d9c51e17ea7ceae17cb)
    • Documentation
      • Added warning about known issue in slider where label doesn't scroll along with the screen. (ca54c659a4b6c6251b3527f23b2516fb6f428aab)
      • Internal change (83e045e9898f4b5415d9ea1d2b0bff176eba0468)
    • Switch
      • Update animations to use motion theming (b73cc616e1c1d8dc939a5a460525c59443ee4282)
    • Other
      • Update documentation (697156a80f44b711f0f3aece93621b427f30550a)
      • Update library version to 1.8.0-beta01 (20c61dbda1c761bcc95a842a048f737e2e6ae271)

    ... (truncated)

    Commits
    • 8055a2c [Adaptive][Side Sheet] Added coplanar side sheet with APIs for setting a copl...
    • 0949e9c [Adaptive][Side Sheet] Set accessibility focus to the side sheet when expanded.
    • 305e19d [Catalog][DatePicker] Fix incorrect time stamps
    • 8cbfd20 [M3][SearchBar] Fixed issue that caused the wrong component to be focused on ...
    • f707836 [Adaptive][Side Sheet] Release Side Sheet catalog demo.
    • 7f17891 [Adaptive] [Side Sheet] Rebrand "Adaptive Sheets" demo to "Side Sheet".
    • 3bc1f6e [Side Sheet] Fix vertically scrolling sheet swipe issue by deleting most of t...
    • 0c4e4a7 [Adaptive] [Side Sheet] Cancel modal side sheet scrim on STATE_HIDDEN.
    • 9c8ea58 [Adaptive] [Side Sheet] Restrict SheetDialog methods from the public API surf...
    • fafee33 [Catalog] Updated search demo to change search bar hint
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump material from 1.4.0-rc01 to 1.8.0-alpha03

    Bump material from 1.4.0-rc01 to 1.8.0-alpha03

    Bumps material from 1.4.0-rc01 to 1.8.0-alpha03.

    Release notes

    Sourced from material's releases.

    1.8.0-alpha03

    What's new

    • SearchBar component is now available for use!

    Dependency Updates

    Dependency Previous version New version
    compileSdkVersion 32 33

    Library Updates

    • BottomSheet
      • Update motion attributes for bottom sheet dialog animation (1cdb371c307a8b4057120677b06aa7ba96339dda)
    • BottomNavigationView
      • Remove elevation shadows (e3937483c36449f71bc00a5b9376198345060f89)
    • Checkbox
      • Update unselected outline color to ?attr/colorOnSurfaceVariant to match tokens. (5d261f516aece8e5243394fd1ca9fbb2f96098fb)
    • NavigationView
      • Disable drawing left and right insets if the nav bar is not edge to edge (cb384c5c2c16f8323abbb9bcc8db45aab3d44369)
    • ExposedDropdownMenu
      • Dismiss modal popup in dismissDropDown (644d141359559f17e9307e8c248f92ddca3bc845)
    • Color
      • Updated Builder class for content color (2351fd9f6cd49a57fe33dbe700526dc02a9e3146)
      • Implement content color with resources loader (4619f31bc79ea7e25790980b8031ffa036b1332c)
      • Internal refactors (d0ca6ba28aff6bc7d9ec6eba133a58d543722fa9)
      • Added content color api (8ca326ac5203a2c026413a8ef1c35d65c916fb90)
    • MaterialDatePicker
      • Update elevation to match specs (b813b2b441cca6599a4c0eb635a2c7282c6c1187)
      • Improve inputs validation (4046525b20ff81c4f4fef654b9e8f09ffd7f5a81)
      • Exposed method to set a custom formatter for text input fields. (276c1171b08ac3d9f6a188f4bb90345a0d5b5a17)
    • Chip
      • Integrate Chip component tokens to Chip styles in M3. (cb65cc6e60d370971f531b329ae3f84acaea432a)
    • Search
      • Renamed search style attributes to add "material" prefix. (978ffdf0aa36b43203ae60e2b38dac8408c3fcc1)
      • Added new SearchBar and SearchView components (d1bacf55db6b81e5f62f506c69bc7adc8a297958)
      • Added developer documentation. (4d4a2e25ab52ceb4481ba61178d1cbf014026de0)
      • Removed M3 search style references from Material theme. (2977a75f29fe2f0fc850db7f3411b8a486a8feac)
    • Tabs
      • Fix bug with selected tab text appearance when swiping in viewpager. (4a0e1a0cdb4e80f9371bc4592d2a1ee086e4d820)
      • Fix default tabTextAppearance (cb1905dbff746ffce992ce60a8af7999ced89062)
      • Fixing bug with animation cancelling if tab is double-tapped (857f481edd64f3d3214de6b4605a9bcbca01e0c5)
      • Fix tab indicator animation (f9a37c5077feaa6e00607adf0005671d0efd390b)
    • NavRail
      • Added design tokens for M3 NavigationRail Component. (d1b682f9fd95dcfceb64d9f276b4dd35fc048f0e)
    • Catalog
      • Added Search Demo . (030fe32445cc1b8245bd52de8d6b861fd5dd4bb2)
      • Add themed icon (45a569f858bc67b09ecc3654da329ac7d9a243d8)
    • A11y
      • Improve TalkBack focus order when selecting a day (dff70c062d680257ef647ea89ac3e9eea4e43f2d)
    • Switch
      • Update animations to use motion themeing. (3fc3ec1153ef686b6a644d99641697a9b0c95220)

    ... (truncated)

    Commits
    • b7cfffc [Release] Bump MDC library version to 1.8.0-alpha03
    • 978ffdf [M3][SearchBar][SearchView] Renamed search style attributes to add "material"...
    • b813b2b [MaterialDatePicker] Update elevation to match specs
    • 030fe32 [Catalog] Added Search Demo .
    • b08257b [Divider] Change shouldDrawDivider from private to protected to allow for mor...
    • 2977a75 [SearchBar][SearchView] Removed M3 search style references from Material theme.
    • d1bacf5 [M3][SearchBar] Added new SearchBar and SearchView components
    • 2351fd9 [M3][Color] Updated Builder class for content color
    • 4619f31 [M3][Color] Implement content color with resources loader
    • 4a0e1a0 [TabLayout] Fix bug with selected tab text appearance when swiping in viewpager.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump junit from 1.1.2 to 1.1.4

    Bump junit from 1.1.2 to 1.1.4

    Bumps junit from 1.1.2 to 1.1.4.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump espresso-core from 3.3.0 to 3.5.0

    Bump espresso-core from 3.3.0 to 3.5.0

    Bumps espresso-core from 3.3.0 to 3.5.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump material from 1.4.0-rc01 to 1.8.0-alpha02

    Bump material from 1.4.0-rc01 to 1.8.0-alpha02

    Bumps material from 1.4.0-rc01 to 1.8.0-alpha02.

    Release notes

    Sourced from material's releases.

    1.8.0-alpha02

    What's new

    • New SideSheet component! Standard and modal configurations available.

    Library Updates

    • SideSheet
      • Added standard and modal side sheets. (10d72eebec116d73b4afab85e48580e298a34818)
      • Added standard side sheet documentation. (4364c4f5fb41b3b157278d47934b74a243a09d2a)
      • Moved behavior_draggable attribute to the resources package. (1d3e37438771bc02b9bf333b8b783f82317bfa56)
    • MaterialDatePicker
      • Enable auto-sizing of the date selection text (32f111817f1c0e846a638d19cb8063d9dc02eec1)
      • Update string translation for datepicker. (8dcdd268341d00f9e330c87f358fa6bb1177f34c)
      • Add method to specify a content description to decorated views (7bc5689789489b14ccf38e574a29bcbba521a834)
      • Make new public getter methods for start/end/openAt values with long return types for CalendarConstraints (6643695c3e6d9ee03e5f58623db901124ed1ce02)
      • Update doc to include DayViewDecorator. (aff6a9453901e07be8212d7106d255d4ac6b51d7)
    • TopAppBar
      • Update motion specs (c8108b1f8e3d06e90fa7978d09e4efa280072ca1)
      • Adding new attribute liftOnScrollColor that disables elevation overlay and allows users to change the app bar color (c587dd12597ee52086c3f637f03d6913e56e03cc)
      • Fix issue with a physical keyboard scroll not collapsing toolbar (9df6c9d072d927da65e5c371cea7be6bd2fff498)
    • MaterialCardView
      • Update motion specs for Z-shadow (3975a2e908353b816d3dfe67cee3b756d72c2aed)
      • Add fade animation for checked icon drawable (7d129eae21e97eba46d515cf8fd9ad287c6ff94b)
    • TextInputLayout
      • Fix label cutout doesn't work on API < 18 (a3521784e8dddf359759331859de88244017b264)
      • Fixed counter overflow text color getter (e76eaff716ed1fd4f6bfb4234867dcc1ed2567d5)
      • Integrated tokens for text fields and the exposed dropdown menu. (e7697c235bcd6179271e4d12db18145a2ad1b8b0)
      • Updated cursor color on error for APIs >= 29. (fbd75ec5b00d04e32eeb48617a3babd0f40c35ee)
      • Update motion attributes for textfield animations (c98480c019c6fdcc399ee56cd758b2ec70c5ceb3)
      • Updated expanded label color to take error color when on error. (a85204eb758912b2b8580304d4bb647759e76996)
    • Slider
      • Add current value to talkback for Slider (9e210ea731692d6a4779df42c0e64b1b5b277bbe)
      • Integrate component tokens (4a1e6bc42aced9d0eb949bccb3b1a8be8102982b)
      • Fix compat halo visibility (bcb551b8a02aff6e881fb4a3dbe4358a91d14cc2)
      • Do not capture inflation parameters for reuse (a137c28b77a3aaef164e363f1163ca70a11d9d18)
    • Tabs
      • Integrated tokens into M3 styles. (d0460f3a70bdfdfef5be1036588c7211a1310d10)
      • Fixed potential NPE when updating tab view. (34a1dde7b61131692597351b7a1e669c4f0ca51c)
      • Add selectedTabTextAppearance attribute (00220d0ad636355b7c9c54c6a1aad64550db5897)
      • Setting a custom view on the tab should replace the current custom view (3c0c9e75f50c2e3b7438d3e20b854319ab4a6d01)
      • Do not impose margins in custom tab views (d68c0f8dc598fc7449d001c53b9972d22fc85fe7)
    • Documentation
      • Add android dev doc and source link to the Material dev doc (00c9ce51dd49b45e03e16997eb6d4c636f5b9a6d)
      • Update spec link to the new Material3 site (bdb82532470fd3ecb1a625e415e11274336101b5)
      • Fix broken column due to extra newline (ad0d73a2478b0d4e5b7499437dce3b700ba8e703)
      • Update docs to remove links to Kotlin docs and remove Kotlin from dependency (bde20921169f6b0476203a5ef805ae72127b2611)
    • A11y
      • Improve date selection announcements (5c5b1e82586166187082f8d958a6db57e542f4f9)
      • Announce start/end dates (2f9844b34a6fdc54bf1468f7609c3aeed3ef73f7)
      • Announce current year and day (c6539f23901dbb6ca5fbbd6e311bcad04412ec72)
      • Fix TalkBack announcements when switching between year/day selection views (62b2b19d60ae66989506626f95ea0d264fbaa1c6)

    ... (truncated)

    Commits
    • df9fdaf [Release] Version 1.8.0-alpha02
    • 10d72ee [Adaptive][Side Sheets] Added initial modal side sheet.
    • 0c204b8 [MaterialTimePicker] Fix NumberFormatException
    • 8510596 [M3][Color] Added the rest of the library for content color support.
    • 4364c4f [Adaptive][Side Sheet] Add standard side sheet documentation.
    • 00c9ce5 [Doc][Switch] Add android dev doc and source link to the Material dev doc
    • 1d3e374 [Adaptive Sheets][Side Sheets] Moved behavior_draggable attribute to the reso...
    • 5c5b1e8 [MaterialDatePicker][a11y] Improve date selection announcements
    • f0e5bda [M3][Color] Updated material color utilities library implementation.
    • 6cf56a5 [BottomSheet] Update elevation to match specs
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump fragment-ktx from 1.4.0-alpha03 to 1.6.0-alpha03

    Bump fragment-ktx from 1.4.0-alpha03 to 1.6.0-alpha03

    Bumps fragment-ktx from 1.4.0-alpha03 to 1.6.0-alpha03.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump gradle from 4.2.1 to 7.3.0

    Bump gradle from 4.2.1 to 7.3.0

    Bumps gradle from 4.2.1 to 7.3.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump appcompat from 1.4.0-alpha02 to 1.6.0-rc01

    Bump appcompat from 1.4.0-alpha02 to 1.6.0-rc01

    Bumps appcompat from 1.4.0-alpha02 to 1.6.0-rc01.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump material from 1.4.0-rc01 to 1.8.0-rc01

    Bump material from 1.4.0-rc01 to 1.8.0-rc01

    Bumps material from 1.4.0-rc01 to 1.8.0-rc01.

    Release notes

    Sourced from material's releases.

    1.8.0-rc01

    What's new

    Dependency Updates

    • No dependency updates

    Library Updates

    • Side Sheet
      • Disabled lift on scroll in Side Sheet demo. (99664aac4b4e47322887c0f23d76e1805f5afb3c)
      • Added accessibilityPaneTitle to side sheet. (516240d4e5519838305e4129235f964a5f82ef16)
      • Fixed issue where sheet would jump to the far edge of the screen in RTL without temporary fix. (a24832add838213ab3f7da69f122a39bd38bba0f)
      • Added explicit style definition to coplanar sheet catalog demo. (35dfa926e150deb9d5ba26dbd7b0e3ff1411c196)
      • Updated close sheet button content description in catalog. (0538a3c333596a8a5820b5dee41c72516fe3e8ca)
    • MaterialDatePicker
      • Fix headerTitle text size (147463f33d090d8b3b1f9d9beb92d3ee631c91fe)
      • Improve date input validation feedback follow up (1200e25d1bbe91672172ae6682ff2a2b32a75da6)
      • Improve date input validation feedback (f394903fd3552f9331bbc772f26be879c9515696)
    • Documentation
      • Remove smart characters from doc comments (280a01cd4154ef2ea7fdb43709d9fb803ba882ae)

    Full list of changes

    https://github.com/material-components/material-components-android/compare/1.8.0-beta01...1.8.0-rc01

    1.8.0-beta01

    What's new

    Dependency Updates

    • No dependency updates

    Library Updates

    • Side Sheet
      • Added coplanar side sheet with APIs for setting a coplanar sibling view. (8055a2c6c61883a779a763df6ad662eba4c740ed)
      • Set accessibility focus to the side sheet when expanded. (0949e9c272e42eed27e4795daa689331ea799673)
      • Release Side Sheet catalog demo. (f707836033913946d580e2bc6414e3800a99d45c)
      • Rebrand "Adaptive Sheets" demo to "Side Sheet". (7f17891b89792b5ef8e30013fc6d913b83dffcd9)
      • Fix vertically scrolling sheet swipe issue by deleting most of the nested scrolling code (3bc1f6e68384f490280373f1d73032fa12e37010)
      • Cancel modal side sheet scrim on STATE_HIDDEN. (0c4e4a7ff1752ece94f0c5bac814e00ec12bd0ce)
      • Restrict SheetDialog methods from the public API surface and rename getDismissWithAnimation. (9c8ea5862d0603e55cf1f6f54f8eab179536ffb5)
      • Add SideSheetCallback listener to SideSheetBehavior to track @​SheetState state change events. (99e09b08977ac44e3f4f2382d7f39689133514f9)
      • Renamed SheetEdge#RIGHT to SheetEdge#EDGE_RIGHT. (35d60519bf1f4806bedb2e376b322533c28ed224)
      • Made SheetDialog abstract base class and Sheet interface package-private. (0c35d1d852c053e3a5319d550e34dbd64f50b412)
      • Add @​RestrictTo annotations to restrict SheetEdge annotation interface. (e6ca949f3c9b8b6c495956e4a23a28c66a09e4ab)
      • Made SideSheetBehavior extendable. (f7b3aac02e474fd030f5ea94a87a5c5e7211867e)
    • SearchBar
      • Fixed issue that caused the wrong component to be focused on automatically when talkback is active. (8cbfd20c841aecac1baa234f017fc16ac91a4130)
      • Updated search bar/view UI to match spec and cleaned up the API. (d049b1bfe0d95ab53aa2a5e78e44f6840913c7a5)
      • Updated style to match updated M3 spec. (be8ff16d6632243a4528a655c20d4cb3b2a5225b)
      • Fixed package path in developer documentation. (73c47c2b91352c24cab045ed53b2ce5a2637f8f9)

    ... (truncated)

    Commits
    • 99664aa [Adaptive][Side Sheet] Disabled lift on scroll in Side Sheet demo.
    • 516240d [Adaptive][Side Sheet] Added accessibilityPaneTitle to side sheet.
    • 1200e25 [MaterialDatePicker][a11y] Improve date input validation feedback follow up
    • f394903 [MaterialDatePicker][a11y] Improve date input validation feedback
    • 147463f [MaterialDatePicker] Fix headerTitle text size
    • a24832a [Adaptive][Side Sheet] Fixed issue where sheet would jump to the far edge of ...
    • 280a01c [Docs] Remove smart characters from doc comments
    • 35dfa92 [Adaptive][Side Sheet] Added explicit style definition to coplanar sheet cata...
    • 0538a3c [Adaptive][Side Sheet] Updated close sheet button content description in cata...
    • 6ed850d [Release] Update library version to 1.8.0-rc01
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump junit from 1.1.2 to 1.1.5

    Bump junit from 1.1.2 to 1.1.5

    Bumps junit from 1.1.2 to 1.1.5.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump espresso-core from 3.3.0 to 3.5.1

    Bump espresso-core from 3.3.0 to 3.5.1

    Bumps espresso-core from 3.3.0 to 3.5.1.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump fragment-ktx from 1.4.0-alpha03 to 1.6.0-alpha04

    Bump fragment-ktx from 1.4.0-alpha03 to 1.6.0-alpha04

    Bumps fragment-ktx from 1.4.0-alpha03 to 1.6.0-alpha04.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump gradle from 4.2.1 to 7.3.1

    Bump gradle from 4.2.1 to 7.3.1

    Bumps gradle from 4.2.1 to 7.3.1.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump appcompat from 1.4.0-alpha02 to 1.7.0-alpha01

    Bump appcompat from 1.4.0-alpha02 to 1.7.0-alpha01

    Bumps appcompat from 1.4.0-alpha02 to 1.7.0-alpha01.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Releases(v0.6.2)
Owner
side.codes
We don't do that here
side.codes
Color.kt is a modern color science library for Kotlin Multiplatform and Java.

Color.kt is a modern color science library for Kotlin Multiplatform and Java. It includes modern perceptually-uniform color spaces and color appearance models, such as Oklab and ZCAM.

Danny Lin 45 Oct 11, 2022
Color.kt is a modern color science library for Kotlin Multiplatform and Java.

Color.kt is a modern color science library for Kotlin Multiplatform and Java. It includes modern perceptually-uniform color spaces and color

SOSP-OS 0 Jan 21, 2022
Color picker library for Android

andColorPicker — Color Picker library for Android ?? Handy, ?? flexible, and ⚡ lightning-fast Android color picker views and utilities. ?? Features Cl

side.codes 216 Jan 7, 2023
Color Picker — beautiful library for Android

Color Picker — beautiful library for Android Features Simple dialog builder ARGB, RGB & HSV color models Dark theme support Sliders with gradient back

Dmitriy 35 Dec 20, 2022
Beautiful color picker dialog for Android 9+

Color-O-Matic Beautiful Color Picker dialog for Android 9+ based on VintageChroma by Pavel Sikun. Screenshots at the end of the file. Repository Add t

null 43 Jun 5, 2022
A component that provides an HSV color picker, written in Jetpack compose🎨

A component that provides an HSV color picker, written in Jetpack compose??

GoDaddy 270 Dec 30, 2022
Jetpack Compose Color Picker

Bundle of Stylish customizable Color pickers, selectors, colorful sliders written with Jetpack Compose enables users to choose from HSL, HSV or RGB color modes to pick Solid colors or gradients.

Smart Tool Factory 34 Nov 29, 2022
A modern color science library for Kotlin Multiplatform and Java

Color.kt Color.kt is a modern color science library for Kotlin Multiplatform and Java. It includes modern perceptually-uniform color spaces and color

Weeb Project (WIP) 0 Oct 21, 2021
Utility library that extends Jetpack Compose Colors with Material Design2 colors, Color swatches like in Flutter

????♾ Utility library that expands Compose Colors with Material Design2 colors, color swatches, Material Design 3 Tonal Palettes, color names, and utility functions to convert between HSL, HSV, RGB, HCT models and to HEX or from HEX

Smart Tool Factory 18 Dec 13, 2022
App-level wallpaper color palette generation for Android 5.0+

MonetCompat is an app-level implementation of kdrag0n's custom Monet implementation, based on his android12-extensions module. With MonetCompat you can generate color palettes from a user's wallpaper and use them anywhere in your app. It supports Android 5.0 and above (in Palette compatibility mode) and Android 8.1 and above in normal mode.

Kieron Quinn 145 Dec 18, 2022
Match a wallpaper to your color scheme

ImageTheming Change the color palette of an image to match your theme. Getting Started Use java -jar path/to/ImageTheming.jar -h to get all available

null 230 Dec 25, 2022
Little image processing library

Poliwhirl Description This is a small image processing library done to find good color for icon background. It uses CIEDE2000 to determine what colors

Anton Potapov 24 Sep 7, 2022
🎨 A tiny (Kotlin) library for generating attractive colors

?? A tiny (Kotlin) library for generating attractive colors

Brian Norman 45 Apr 30, 2022
Android Material Design Colors

Android-Material-Design-Colors Android-Material-Design-Colors provides color definitions of the Material Design. Demo Usage R.color.md_color_value or

wada811 197 Jan 2, 2023
A list of most useful resources for designing android apps such as all material colors and dimens, 180 Gradient background + html, social, flat, fluent, metro colors.

Timer UI Login UI Fitness UI Material-Resources-Library A list of most useful resources for designing android apps such as all material colors and dim

Next 37 Jul 24, 2022
For color lovers! A simple but powerful Android color picker

#DEPRECATED Credits for the logo goes to Hafiz Ahmmed (https://github.com/hafizahmmed) ColorBox library Features Dynamic color preview; Change the col

Enrico D'Ortenzio 53 Apr 8, 2021
A color picker and a color preference for use in Android applications.

HSV-Alpha Color Picker for Android This library implements a color picker and a color preference for use in Android applications. Features I couldn't

Martin Stone 279 Nov 26, 2022
Color.kt is a modern color science library for Kotlin Multiplatform and Java.

Color.kt is a modern color science library for Kotlin Multiplatform and Java. It includes modern perceptually-uniform color spaces and color appearance models, such as Oklab and ZCAM.

Danny Lin 45 Oct 11, 2022
Color.kt is a modern color science library for Kotlin Multiplatform and Java.

Color.kt is a modern color science library for Kotlin Multiplatform and Java. It includes modern perceptually-uniform color spaces and color

SOSP-OS 0 Jan 21, 2022
Color picker library for Android

andColorPicker — Color Picker library for Android ?? Handy, ?? flexible, and ⚡ lightning-fast Android color picker views and utilities. ?? Features Cl

side.codes 216 Jan 7, 2023