前言
接上一篇ReactNative学习笔记(三)之flexbox继续学习ReactNative
自定义文本组件
类似于Android中的自定义View, 其实就是自定义一个React组件, 用一个class, 后面是组件名字, 继承自React.Component, 里面是一个render方法, 具体代码如下:
1 | class HeaderText extends Component { |
其中this.props.children指的是标签中间的文字.
然后我们应用这个HeaderText
1 | export default class App extends Component<Props> { |
运行看一下效果
可以看到这里面的文字样式就是在HeaderText中定义的styles.itemText样式
Image
Image组件是用来显示图片的, 可以显示本地图像也可以显示网络图像.
首先我们需要引入Image这个组件
1 | import {Platform, StyleSheet, Text, View, Image} from 'react-native'; |
然后使用Image这个组件并且指定图像的地址
1 | export default class App extends Component<Props> { |
需要注意的是只有我们设置了图像的宽高, 图片才能显示出来
1 | let styles = StyleSheet.create({ |
运行效果
ImageBackground
最新版的ReactNative出了ImageBackground这样一个组件, 并且不允许在Image组件下放置children了.我们可以去使用这个ImageBackground组件去显示背景.
首先还是需要先导入
1 | import {Platform, StyleSheet, Text, View, Image, ImageBackground} from 'react-native'; |
然后在代码中使用
1 | export default class App extends Component<Props> { |
下面是具体的属性值
1 | let styles = StyleSheet.create({ |
rgba表示带透明通道使用rgb表示的颜色.
运行效果:
很漂亮, 不是吗?