React Native 界面入门 for WebStorm
上一篇学习了怎么在Windows下搭建react native,今天来看一下怎么在WebStorm写界面。 首先,先说一下怎么配置WebStorm(下载),如果你平时熟悉Android Studio,那这个你应该也不陌生,因为他们是同一家公司的出品,下载之后安装,自己去搜一下怎么去注册。 好,现在说配置,打开我们生成的React Native项目,然后file–setting 选择React JSX 下载react和react native 然后点击OK 完成 接着配置npm 是不是和Android Studio很像,看图 好了,基本上完成了配置 正式开始写ui 看一个有代表性的ListView,官网文档 import React,{ Component } from 'react';
import { AppRegistry,ListView,Text,View } from 'react-native';
class ListViewBasics extends Component {
// Initialize the hardcoded data
constructor(props) {
super(props);
const ds = new ListView.DataSource({rowHasChanged: (r1,r2) => r1 !== r2});
this.state = {
dataSource: ds.cloneWithRows([
'John','Joel','James','Jimmy','Jackson','Jillian','Julie','Devin','John','Devin'
])
};
}
render() {
return (
<View style={{flex: 1,paddingTop: 22}}>
<ListView
dataSource={this.state.dataSource}
renderRow={(rowData) => <Text>{rowData}</Text>}
/>
</View>
);
}
}
多放了几组数据,看ListView的效果 太靠边了,我们调一下,让TextView居中,在TextView的style里加 render() { return ( <View style={{flex: 1,paddingTop: 22}}> <ListView dataSource={this.state.dataSource} renderRow={(rowData) => <Text style={{textAlign: 'center'}}>{rowData</Text>}/> </View> ); }
然后效果图: 如果我们想把TextView换成图片呢?怎么办? 一共分为两步: constructor(props) { super(props); const ds = new ListView.DataSource({rowHasChanged: (r1,r2) => r1 !== r2});
let pic = { uri: 'https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg' };
this.state = { dataSource: ds.cloneWithRows([ pic,pic,pic ]) };
}
2.把TextView换成Image render() { var Dimensions = require('Dimensions'); var { width,height } = Dimensions.get('window'); return ( <View style={{flex: 1,paddingTop: 5}}> <ListView dataSource={this.state.dataSource} renderRow={(rowData) => <Image source={rowData} style={{marginTop:5,width: width,height: 110}}/>} /> </View> ); }
这里给Image设置了宽度是屏幕的宽度 运行看效果: 这里是源码地址, 欢迎交流学习~ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |