Android iOS通用的;一个可用于做loading动画的组件:https://github.com/mohebifar/react-native-loader
同时兼容iOS与Android的Toast组件
给大家安利一款可以在iOS和Android上通用的Toast组件: react-native-root-toast
现在开源的Toast组件一大堆,为什么要选用这个呢?原因如下:
- 纯javascript解决方案,免去了原生安装的各种繁杂步骤,直接一行
npm install react-native-root-toast --save
搞定 - 同时兼容iOS和Android,使用完全一致的接口,不用再为同时兼容两个平台再写额外的代码
- 可以自定义toast的各类属性(显示时间、位置、延时、动画、阴影等)
- 同时支持两种调用形式(可以使用API调用,也可以作为Component直接放在render里面进行控制)
安装
npm install react-native-root-toast --save
搞定!
使用
可以支持两种不同的调用方式.
如果你喜欢API方式的调用
import Toast from 'react-native-root-toast'; // 引入类库
// 通过调用 Toast.show(message, options); 可以在屏幕上显示一个toast,并返回一个toast实例
let toast = Toast.show('This is a message', {
duration: Toast.durations.LONG, // toast显示时长
position: Toast.positions.BOTTOM, // toast位置
shadow: true, // toast是否出现阴影
animation: true, // toast显示/隐藏的时候是否需要使用动画过渡
hideOnPress: true, // 是否可以通过点击事件对toast进行隐藏
delay: 0, // toast显示的延时
onShow: () => {
// toast出现回调(动画开始时)
},
onShown: () => {
// toast出现回调(动画结束时)
},
onHide: () => {
// toast隐藏回调(动画开始时)
},
onHidden: () => {
// toast隐藏回调(动画结束时)
}
});
// 也可以通过调用Toast.hide(toast); 手动隐藏toast实例
setTimeout(function () {
Toast.hide(toast);
}, 500);
你也可以通过React组件方式调用Toast.在render里面加入<Toast />
组件,并通过visible
属性对Toast进行控制.
<Toast />
的属性和API调用时传入的选项相同.toast内容添加在元素内部: <Toast>message</Toast>
注意:
通过组件方式调用的toast,在<Toast />组件 componentWillUnmount
的时候会自动消失
import React, {Component} from 'react-native';
import Toast from 'react-native-root-toast';
class Example extends Component{
constructor() {
super(...arguments);
this.state = {
visible: false
};
}
componentDidMount() {
setTimeout(() => this.setState({
visible: true
}), 2000); // show toast after 2s
setTimeout(() => this.setState({
visible: false
}), 5000); // hide toast after 5s
};
render() {
return <Toast
visible={this.state.visible}
position={50}
shadow={false}
animation={false}
hideOnPress={true}
>This is a message</Toast>;
}
}
Modal弹窗组件
react-native-starrating 星星评分组件支持iOS、安卓。
自定义了一个 星星评分组件,支持iOS、安卓、不依赖其他第三方,使用请参考 https://github.com/bluesky0109/react-native-starRating 对应说明。
一个基于React Native的Material Design风格的组件库。(为了平台统一体验,目前只打算支持安卓)
-
官方网站 http://mrn.js.org/
-
左滑解决方案:react-native-swipe-left (android/ios)
-
github:
https://github.com/yzsolo/react-native-swipe-left
npm:
https://www.npmjs.com/package/react-native-swipe-left如果对你有帮助,star it,谢谢。
-
IOS Android Features (特性)