React Native 入门(八) - 样式与宽高
样式在 React Native 中,所有的组件都接受一个名为 style 的属性,这个属性用来设置该组件的样式。这些样式的名称基本遵循了 CSS 中的命名方式,不过都改成了按照驼峰命名法进行命名,比如将 style 属性可以是一个普通的 JavaScript 对象,也可以是对象的数组。在数组中位置越靠后优先级越高,所以你如果在数组中不同的位置上设置了相同属性,则会优先采用靠后的属性。 一般来说,每个组件都会用到很多样式,这个时候直接写成对象的方式就会很复杂,也不易修改和复用。所以建议通过 下面举个例子说明一下: import React,{Component} from 'react';
import {
View,Text,Dimensions,StyleSheet
} from 'react-native';
export default class App extends Component<{}> {
render() {
return <View style={{backgroundColor: 'gray',height: 100,width: window.width}}>
<Text style={{textAlign: 'center',color: 'red'}}>red text</Text>
<Text style={styles.blueText}>blue text</Text>
<Text style={[{textAlign: 'center'},{color: 'yellow'}]}>yellow text</Text>
<Text style={[styles.blueText,{color: 'pink'}]}>pink text</Text>
</View>
}
}
const window = Dimensions.get('window');
const styles = StyleSheet.create({
blueText: {
textAlign: 'center',color: 'blue'
}
})
运行效果如下: 第一个 然后我们通过 第三个 第四个 宽度与高度固定宽高指定一个组件的 const window = Dimensions.get('window');
const width = window.width; // 屏幕宽度
const height = window.height; // 屏幕高度
我们还可以用解构赋值的方式: const {width,height} = Dimensions.get('window');
然后直接使用 弹性宽高弹性宽高和 Android 中 LinearLayout 的 我们修改上面的代码,在最外层的 注意: 组件能够占满剩余空间的前提是它的父容器的尺寸不为零。如果外层组件既没有固定的宽高,也没有设定 flex,则它的尺寸为零,这个时候给内部组件设置 flex 是没有效果的。 可能有人会有疑问,最外层的 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |