A Progressbar as example.
expo install expo-linear-gradient
import styled from 'styled-components/native';
import {PropsWithTheme} from "@Framework/ui";
import {LinearGradient} from "expo-linear-gradient";
export const Root = styled.View`
border-top-right-radius: 0px;
border-top-left-radius: 4px;
border-bottom-right-radius: 0px;
border-bottom-left-radius: 4px;
background: ${(props: PropsWithTheme) => props.theme.colors.lightShade};
width: 100%;
padding: ${(props: PropsWithTheme) => props.theme.spacing[0]};
height: 30px;
overflow: hidden;
`;
interface FillProps {
percent: number;
}
export const Fill = styled(LinearGradient).attrs((props: FillProps & PropsWithTheme) => {
const position = props.percent / 100;
return {
colors: [props.theme.colors.mainBrand, props.theme.colors.mainBrand, props.theme.colors.lightShade],
start: {x: position, y: 1},
end: {x: position, y: 1},
locations: [0, position, position],
};
})<FillProps>`
height: 100%;
width: 100%;
`;
expo, react-native, styled-components — Jun 22, 2021