一、样式
react native的样式方式,与react类似
样式表现方式:
1、行内:用js对象表达html中css样式 ,花括号{ }内是对象
style={ {flex:1,justifyContent:"center"} }
(1)注意属性不再是 - 连接换成小驼峰命名:
justify-content
换成 justifyContent
(2)注意属性值是字符串的加引号 " "
2、调用自定义样式表:{样式类.属性}
3、样式表和内联样式共存:{[ ]}
export default class App extends Component {
render() {
var name="jack"
return (
// 行内样式
<View style={ {backgroundColor:"skyblue",flex:1,alignItems:"center",justifyContent:"center"} }>
{/* 下面引用了自定义样式styles,多组样式对象时可写在数组里,数组中越靠后,优先级越高,如下面的字体会显示为红色 */}
<Text style={ [styles.font,{color:"red"}] }>hello {name}</Text>
</View>
);
}
}
// 自定义样式
const styles=StyleSheet.create({
font:{
fontSize:50,
color:'blue'
}
})
二、布局
react native先天默认的是flex布局,所以我们不需要写display:flex
不过react native中的flex布局与css中的flex有一定的区别
1、flexDirection:决定主轴方向:CSS中默认的是row方向,这里默认的是column
2、不需要写diplay:flex
3、flex:1 flex只能写一个值
三、图片Image
// 定义并导出自定义组件
// RN中引入图片资源一般常用的两种方式:
// 本地资源引入:source={ require('1.png') }
// 网络资源引入:source={ {uri:'http://1.png'} }
要指定当前图片的尺寸(否侧图片不显示)
// 在使用ImageBackground要指定尺寸
<View>
{/* 本地资源引入 */}
<Image source={ require('../images/de.jpg') }></Image>
{/* 网络资源 */}
<Image
opacity={0.2}
style={{width:200,height:200}}
source={ {uri:'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1572251817&di=122528a67a3c249070a67faf691ecd40&imgtype=jpg&er=1&src=http%3A%2F%2Fpic.baike.soso.com%2Fp%2F20131220%2F20131220235848-670354324.jpg'} }></Image>
{/*背景图片 */}
<ImageBackground
source={ require('../images/de.jpg') }
style={{width:'100%',height:1000}}
opacity={0.5}
>
<Text style={{fontSize:50,color:'white'}}>刘德华</Text>
</ImageBackground>
</View>