You are developing a graphic design app, picking colors is essentails in such apps, but your color picker should add more value to stand out among your competitors, that's why you decided to support picking gradients and images as well, and to make this feature less boring you decided to update it periodically from a remote server.
The design as shown below and server response are as in the json file here.
demo.mp4
- Don't write network layer, just load the json from disk
- Write proper decoding models
- We have two horizontal scrollable parts (Palettes & Palette Items)
- Palette items have special part in the begining, where user can pick advanced color, transparent color or use the eye-drop tool to pick any color on screen.
- Pallet items section has dynamic number of rows (can have up to three rows).
Please make sure to implement the following interactions (as shown in the attached video)
- Tapping a Palette title should scroll items to that Palette
- Scrolling Items should change Palette selection and move it to screen if it's outside screen
- Tapping item should show selection indicator with animation