Comments (1)
I was able to achieve this with the following code. You can adjust the rotateZ
amount according to your design.
export const CollapsibleSection = (props: CollapsibleSectionProps) => {
const styles = useStyles()
const [isCollapsed, setIsCollapsed] = useState(props.collapsedByDefault ?? false)
const open = useSharedValue(isCollapsed)
const progress = useDerivedValue(() => (open.value ? withTiming(1) : withTiming(0)))
const onToggleCollapse = () => {
setIsCollapsed(!isCollapsed)
open.value = !open.value
}
return (
<View>
<RaisedBox style={styles.header} onPress={onToggleCollapse}>
<Label color="$textMuted">{props.title}</Label>
<Chevron progress={progress} />
</RaisedBox>
<Collapsible collapsed={isCollapsed}>
{props.children}
</Collapsible>
</View>
)
}
export interface ChevronProps {
progress: Animated.SharedValue<number>
}
export const Chevron = ({ progress }: ChevronProps) => {
const animatedStyle = useAnimatedStyle<AnimatedStyleProp<ViewStyle>>(() => {
const value = Math.PI - progress.value * Math.PI
return {
transform: [{ rotateZ: `${value}rad` }],
}
})
return (
<Animated.View style={animatedStyle}>
<Icon id="chevron-up" stroke="gray" />
</Animated.View>
)
}
from react-native-collapsible.
Related Issues (20)
- Typescript CollapsibleProps doesn't contain childre HOT 15
- Update redux state in Accordion renderContent not update the view HOT 4
- Webview inside collapsible acts weirdly HOT 1
- Facing Laging issue HOT 1
- TS: Property 'children' does not exist on type HOT 7
- Sections not receiving props correctly when adding sections dynamically HOT 1
- React native collapsable HOT 1
- Not working with Functional Component HOT 1
- Accordion inside ScrollView results in `VirtualizedLists should never be nested inside plain ScrollViews with the same orientation because it can break windowing and other functionality` HOT 2
- Accordion is not working while passing another animated view in it
- Content of active section not rendered properly in Accordion
- How to test react-native-collapsible/Accordion using testing-libray/react-native? HOT 1
- Jest test failures in React Native 0.72 HOT 5
- test
- Support for Reanimated V2 / V3? HOT 5
- slowness HOT 1
- asd
- Accordion content blinking HOT 3
- flatList
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-collapsible.