Rumah > Soal Jawab > teks badan
Saya menggunakan navigasi bawah dan apabila saya menavigasi dari skrin pendail ke skrin kenalan dengan meleret, pada masa itu saya mahu membuka terus skrin kenalan telefon saya. Di bawah saya telah berkongsi kod fail ContactComponent dan fail BottomNavigation. Saya baru menggunakan React Native jadi tolong bantu saya. Terima kasih terlebih dahulu.
ContactComponent.js
const ContactComponents = ({ navigation }) => { useEffect(() => { Linking.openURL("content://com.android.contacts/contacts") }, []); } export default ContactComponents
BottomNavigation.js
const Tab = createMaterialTopTabNavigator(); export default function BottomNavigation() { return ( <Tab.Navigator tabBarPosition='bottom' initialRouteName='Dialer' screenOptions={{ tabBarLabelPosition: "beside-icon", //tabBarLabelStyle: { fontWeight: "700", fontSize: 15, color : 'white'}, tabBarIconStyle: { display: "none" }, tabBarStyle :{backgroundColor : bottomTabBarColor}, tabBarIndicatorStyle : {position : 'relative', borderWidth : 2 , borderColor : bottomTabBarIndicatorColor} }}> <Tab.Screen name="Messages" component={MessageComponent} options = {{ tabBarLabel: ({focused, color, size}) => ( <Text style={ [styles.textStyle, {color: focused ? focusedLabelColor : unfocusedLableColor , fontWeight : focused ? 'bold' : 'normal' }] }>Messages </Text> ), }} /> <Tab.Screen name="Last Ones" component={LastOnesComponent} options = {{ tabBarLabel: ({focused, color, size}) => ( <Text style={ [styles.textStyle, {color: focused ? focusedLabelColor : unfocusedLableColor , fontWeight : focused ? 'bold' : 'normal' }] }>Last Ones </Text> ), }} /> <Tab.Screen name="Dialer" component={Dialpad} options = {{ tabBarLabel: ({focused, color, size}) => ( <Text style={ [styles.textStyle, {color: focused ? focusedLabelColor : unfocusedLableColor , fontWeight : focused ? 'bold' : 'normal' }] }>Dialer </Text> ), }} /> <Tab.Screen name="Contacts" component={ContactComponents} options = {{ tabBarLabel: ({focused, color, size}) => ( //<View style={focused ? styles.topTabLine : null}> <Text style={ [styles.textStyle, {color: focused ? focusedLabelColor : unfocusedLableColor , fontWeight : focused ? 'bold' : 'normal' }] }>Contacts </Text> //</View> ), }} /> </Tab.Navigator>
P粉1992488082024-03-30 10:47:23
Untuk Android, anda boleh menggunakan react-native
中的本机 Linking
untuk membuka apl Kenalan.
const openContacts = () => { if (Platform.OS === 'android') { Linking.openURL('content://com.android.contacts/contacts'); } };
Kini, jika anda ingin membuka skrin kenalan apabila skrin pendail difokuskan, anda boleh menggunakan cangkuk @react-navigation/native
中的 useFocusEffect
untuk melakukannya.
Dalam skrin yang anda mahu menavigasi ke apl Kenalan, gunakan cangkuk ini seperti yang ditunjukkan.
import { useCallback } from 'react'; import { Linking, Platform } from 'react-native'; import { useFocusEffect } from '@react-navigation/native'; . . . useFocusEffect( useCallback(() => { if (Platform.OS === 'android') { Linking.openURL('content://com.android.contacts/contacts'); } }, []) );
Ini untuk pelaksanaanSnek