Android Palette API brought to react native. It extracts prominent colors from images to help you create visually engaging apps. At the moment it only supports Android.
Check out this medium article for a broader introduction!
Installation and setup guide can be found here: Setup guide.
import { createMaterialPalette } from "react-native-material-palette";
const palette = await createMaterialPalette({ uri: 'http://dummySite/images/yummy.jpg' });
import { MaterialPaletteProvider, withMaterialPalette } from 'react-native-material-palette';
const PaletteView = withMaterialPalette(
palette => ({ backgroundColor: palette.vibrant.color }),
)(View);
// later ...
<MaterialPaletteProvider
image={require('../assets/image.png')}
options={{
type: 'vibrant',
}}
defaults={{
vibrant: {
color: '#3792dd',
bodyTextColor: '#ffffff',
titleTextColor: '#ffffff',
},
}}
>
<PaletteView style={{ flex: 1 }}>
<Text>Hello World</Text>
</PaletteView>
</MaterialPaletteProvider>
Full API documentation can be found here: API documentation.
- iOS support
- Providing own color profiles
The repo includes an example app that covers all the API cases. Go here to try it out!
Development instructions can be found here: react-native-material-palette
development.