React Native FlexBox佈局(二) 應用篇
1、獲取螢幕寬高
RN通過Dimensions元件來獲取裝置資訊,
Dimensions路徑:
.../node_modules/react-native/Libraries/Utilities
獲取程式碼:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
} from 'react-native';
const Dimensions = require('Dimensions');
const {width, height, scale} = Dimensions.get('window');
class RNHybrid extends Component {
render() {
return(
<View style={{justifyContent:'center',alignItems:'center',flex:1}}>
<Text>
當前的螢幕的寬度是: {width + '\n'}
當前的螢幕的高度是: {height + '\n'}
當前的螢幕的解析度是: {scale + '\n'}
</Text>
</View>
);
}
}
AppRegistry.registerComponent('RNHybrid', () => RNHybrid);
執行結果(6s模擬器):
![](https://i.iter01.com/images/cf50b8eae315bb587b3280897325e808fb8f3d420e9e9cdb6bc762b3834e4ca6.png)
2、應用示例
2.1絕對定位和相對定位
相對定位
usage:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Image,
} from 'react-native';
const Dimensions = require('Dimensions');
const {width, height, scale} = Dimensions.get('window');
class RNHybrid extends Component {
render() {
return(
<View style={{justifyContent:'center',alignItems:'center',flex:1}}>
<View style={{backgroundColor:'black',paddingTop:50,width:width,height:200}}>
<Image source={{uri:'test'}} style={styles.image1Style}/>
</View>
</View>
);
}
}
const styles = StyleSheet.create({
image1Style:{
position:'relative',
width:100,
height:100,
left:200,
top:0,
},
});
AppRegistry.registerComponent('RNHybrid', () => RNHybrid);
效果:
![](https://i.iter01.com/images/2d803bfe7257f0c2ca8fd5c827743d1b9f9d5b5462960206ef73dbdd511da27a.png)
總結:相對定位遵守父類內邊距設定,如: 例子內邊距為50
絕對定位
usage(css position樣式修改為 position:'absolute',)。
效果:
![](https://i.iter01.com/images/ba8f02cd2bda7992af09a8c884022a62c0bb8309f006c457445bd4528ad58d8b.png)
總結:絕對定位父類內邊距設定不起作用。
相關文章
- React Native 之 flexbox佈局React NativeFlex
- React Native 探索(四)Flexbox 佈局詳解React NativeFlex
- React Native基礎&入門教程:初步使用Flexbox佈局React NativeFlex
- react-native筆記(flexbox)React筆記Flex
- 響應式佈局:CSS-flexbox & BootstrapCSSFlexboot
- iOS Flexbox 佈局優化iOSFlex優化
- CSS3佈局神器 - FlexboxCSSS3Flex
- react-native佈局和樣式設定React
- flexbox(彈性盒佈局模型),以及適用場景Flex模型
- 快應用入門--頁面佈局篇
- Flexbox 佈局的最簡單表單Flex
- 【譯】React Native佈局原理(以及Fabric將做出的改變)React Native
- Flex佈局應用Flex
- flexbox佈局下flex:auto的元素沒有平均分佈Flex
- 70個react-native flex佈局栗子,肯定有你要的ReactFlex
- 深度解析 CSS Flexbox 佈局 - 2020年最新版CSSFlex
- 如何使用Flexbox和CSS Grid,實現高效佈局FlexCSS
- harmonyOS應用-TableLayout佈局
- 繼 Airbnb 之後,Udacity 也宣佈棄用 React Native!AIReact Native
- React Native學習指南:React Native嵌入到原生應用的一次嘗試React Native
- React Native基礎&入門教程:除錯React Native應用的一小步React Native除錯
- React Native釋出APP之打包iOS應用React NativeAPPiOS
- 向React Native應用新增螢幕捕捉功能React Native
- [譯] 當你建立 Flexbox 佈局時,都發生了什麼?Flex
- 拒絕爛大街——Flexbox佈局演示站了解一下Flex
- iOS 中使用 FlexBox 佈局實現圖片九宮格iOSFlex
- CSS佈局 --- 自適應佈局CSS
- 關於flex佈局的應用Flex
- 網頁響應式佈局的應用網頁
- 優雅地使用TypeScript開發React Native應用TypeScriptReact Native
- 來聊聊react-native應用的健康監控React
- react native學習筆記(二)React Native筆記
- 從零開始搭建React應用(二)——React應用架構React應用架構
- Dore 混合應用框架 —— 基於 React Native 的混合應用遷移方案框架React Native
- [React Native]react-native-scrollabReact Native
- Flutter佈局篇(1)–水平和垂直佈局詳解Flutter
- Flutter佈局篇(1)--水平和垂直佈局詳解Flutter
- flex彈性佈局 響應式佈局Flex
- 三欄佈局之自適應佈局