Unofficial React Native package for dual screen devices support (Surface Duo)
- Android:
- 10+
- react-native:
- supported versions ">= 0.60.5"
with react-native ">=0.60.5"
|
import * as React from 'react'
import { View } from 'react-native'
import { RNDualScreenManager, Hinge } from 'react-native-dual-screen'
export default function App() {
const [isDualMode, setDualMode] = useState(false)
useEffect(() => {
RNDualScreenManager.isDualMode().then((isDual: boolean) => {
setDualMode(isDual)
})
RNDualScreenManager.addOnChangeListener((event) => {
const isDual = event.isDualMode === 'true'
if (isDualMode !== isDual) {
setDualMode(isDual)
}
})
})
if (isDualMode) {
return (
<View style={{ flex: 1, flexDirection: 'row' }}>
<View style={{ flex: 1 }}>
<Text>Screen 1</Text>
</View>
<Hinge/>
<View style={{ flex: 1 }}>
<Text>Screen 2</Text>
</View>
</View>
)
}
return (
<View style={{ flex: 1 }}>
<Text>Screen 1</Text>
</View>
)
}