<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        React Navigation 使用中遇到的問題小結

        來源:懂視網 責編:小采 時間:2020-11-27 22:15:02
        文檔

        React Navigation 使用中遇到的問題小結

        React Navigation 使用中遇到的問題小結:在React Native的開發中,使用到react navigation框架時遇到了不少問題。主要是安卓和iOS中相對不協調的地方,特此記錄 一、Navigation Bar 使用navigationbar的時候遇到如下的問題 1.navigation bar的底部有一條黑線 本意做一個bar的顏色和頁
        推薦度:
        導讀React Navigation 使用中遇到的問題小結:在React Native的開發中,使用到react navigation框架時遇到了不少問題。主要是安卓和iOS中相對不協調的地方,特此記錄 一、Navigation Bar 使用navigationbar的時候遇到如下的問題 1.navigation bar的底部有一條黑線 本意做一個bar的顏色和頁

        在React Native的開發中,使用到react navigation框架時遇到了不少問題。主要是安卓和iOS中相對不協調的地方,特此記錄

        一、Navigation Bar

        使用navigationbar的時候遇到如下的問題

        1.navigation bar的底部有一條黑線

        本意做一個bar的顏色和頁面顏色一致的頁面。只有頂部有兩個其他按鈕的時候。發現bar的底部有一條黑線。導致bar不能很好的匹配想要的頁面效果。在header中設置一下代碼中后可去除

        static navigationOptions = {
         ...
         headerStyle: {
         ...
         borderBottomWidth: 0,
         },
         }
        

        2. android 的 Bar底部有一條陰影,自定義Bar背景圖無法填充滿

        react navigation bar在安卓中默認會有一個高度。帶來的視覺效果是底部會有一條陰影。而且造成另外一個比較頭疼的效果是如果使用了帶背景圖的自定義Bar時。會發現背景圖有覆蓋不全的效果。兩側總有一些間隙。iOS中則不會出現此問題。將elevation屬性置零后可解決這個問題

         static navigationOptions = {
         ...
         headerStyle: {
         ...
         elevation: 0,
         },
         }
        

        3.android 中Bar標題居中問題

        在安卓中,bar 的標題是居左的。iOS則默認居中。可以通過以下寫法居中

        static navigationOptions = {
         ...
         headerTitleStyle: {
         //此屬性是標題的Style屬性。可以接受<Text>標簽的style
         ...
         alignSelf: "center",
         },
         }
        

        在左側沒有按鍵的時候。這樣寫就足夠了。但是如果左側有個返回鍵或者自定義的其他按鍵。在安卓中標題就會發生偏移。解決辦法是右側添加一個空按鈕

        static navigationOptions = {
         ...
         headerRight: <View />
         }
        

        4.帶背景圖的Navgation Bar

        與源生不同。react navigation bar中并沒有背景圖這一屬性。也就是說我們要使用帶背景圖的navigation bar的時候必須要使用自定義的view。

        import {Header} from "react-navigation";
        //header 需導入
        const ImageHeader = props => (
         <View>
         <Image
         style={{position: "absolute", zIndex: -1, width: "100%", height: "100%", resizeMode: "cover"}}
         source={require(...)}
         />
         <Header {...props} style={{backgroundColor: "transparent"}} />
         </View>
        );
        
        static navigationOptions = {
         ...
         headerStyle: {
         //背景顏色必須為透明,不然無法透出底部圖片
         backgroundColor: "transparent",
         //安卓中不添加此屬性會導致背景圖無法鋪滿
         elevation: 0,
         },
         header: props => {
         return <ImageHeader {...props} />;
         },
         }
        

        5.當StackNavigator與DrawerNavigator嵌套使用時手勢沖突問題

        當DrawerNavigator嵌套StackNavigator時。進入StackNav的二級界面后返回手勢與打開DrawerNav打開菜單沖突。

        static navigationOptions = {
         ...
         //禁止打開菜單
         drawerLockMode: "locked-closed", 
         //允許使用返回手勢
         gesturesEnabled: true,
         }
        

        此設置按照需求自行修改

        5.Navgation Bar高度不一致問題

        使用自定義的Bar時。安卓和iOS高度不一致。Android計算Nav高度是從手機頂部開始計算。而iOS默認會向下偏移狀態欄的高度。要做到效果統一。需要將安卓的Bar的paddingTop屬性設為狀態欄高度

        import {StatusBar, Platform} from "react-native";
        navigationOptions = {
         ...
         headerStyle: {
         ...
         paddingTop: Platform.OS === "ios" ? 0 : StatusBar.currentHeight,
         },
         }
        
        

        6.navigation Bar上使用自定義按鈕

        使用headerRight 或者 headerLeft 可以定制按鈕或者View

        static navigationOptions = {
         ...
         headerRight = (<TouchableOpacity style={{marginRight: 10}} onPress={...}>
         <Text style={styles.NavSureButton}>btn</Text>
         </TouchableOpacity>)
         }
        

        但是如果onPress方法要用到this.props、this.state或者是類中的其他方法的時候就會出現問題

        在每個頁面的類中,我們使用static navigationOptions={...}來配置navigation的一些配置。但是由于static 修飾的屬性屬于類的靜態屬性。無法調用this的屬性方法。所以我們需要使用this.props.navigation.setParams({key:value ...})方法來設置header按鈕的點擊事件。

        class Demo extends React,Component{
         componentWillMount() {
         //綁定方法
         this.props.navigation.setParams({rightOnPress: this.rightBtnOnPress});
         }
         //點擊方法
         rightBtnOnPress = ()=>{
         ...
         }
         static navigationOptions = ({navigation}) => {
         const params = navigation.state.params || {};
         let navigationOptions = {
         ...
         headerRight = (<TouchableOpacity style={{marginRight: 10}} onPress={params.rightOnPress}>
         <Text style={styles.NavSureButton}>btn</Text>
         </TouchableOpacity>)
         }
         return navigationOptions;
         };
         ...
        }
        

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        React Navigation 使用中遇到的問題小結

        React Navigation 使用中遇到的問題小結:在React Native的開發中,使用到react navigation框架時遇到了不少問題。主要是安卓和iOS中相對不協調的地方,特此記錄 一、Navigation Bar 使用navigationbar的時候遇到如下的問題 1.navigation bar的底部有一條黑線 本意做一個bar的顏色和頁
        推薦度:
        標簽: 問題 遇到 總結
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲在成人网在线看| 久久夜色精品国产噜噜亚洲AV| 在线观看亚洲AV日韩AV| 成人免费黄色网址| 亚洲国产日韩女人aaaaaa毛片在线 | 亚洲精品在线不卡| 最新黄色免费网站| 亚洲精品第一国产综合野| 无码国产精品一区二区免费I6| 中国china体内裑精亚洲日本| 成年人免费网站在线观看| 亚洲欧洲专线一区| 四虎影视在线永久免费看黄 | caoporn国产精品免费| 爱情岛论坛网亚洲品质自拍| 免费毛片在线看不用播放器 | 一级日本高清视频免费观看| 亚洲精品无码久久久久去q | 国产成人综合亚洲绿色| 中文字幕亚洲图片| 最近免费最新高清中文字幕韩国| 亚洲av日韩av综合| heyzo亚洲精品日韩| 男女作爱在线播放免费网站| 亚洲一级片在线播放| 国产一区二区三区在线免费| 三年片在线观看免费西瓜视频| 亚洲综合在线成人一区| 热久久精品免费视频| 成在线人视频免费视频| 亚洲春色在线观看| va亚洲va日韩不卡在线观看| 久久免费公开视频| www亚洲精品久久久乳| 亚洲精品狼友在线播放| 在线视频免费观看高清| 成人免费一区二区三区| 国产亚洲sss在线播放| 亚洲熟妇丰满多毛XXXX| 一个人免费观看在线视频www| 国产精品免费在线播放|