[RN] React Native 使用 React-native-scrollable-tab-view 实现 类头条 新闻页头部 效果
React Native 使用 React-native-scrollable-tab-view 实现 类头条 新闻页效果
效果如下:

一、安装依赖
npm install react-native-scrollable-tab-view --save
安装后对应版本依赖如下:
"dependencies": {
"react": "16.8.3",
"react-native": "0.59.5",
"react-native-scrollable-tab-view": "^0.10.0",
},
二、实现代码
1)显示View代码
import React, {Component} from 'react';
import {Text, View} from 'react-native';
import styles from '../../style/NewsStyle';
import ScrollableTabView, {DefaultTabBar, ScrollableTabBar} from 'react-native-scrollable-tab-view';
/**
* 新闻主页
*/
class News extends Component {
render() {
return (
<ScrollableTabView
tabBarPosition='top' //位于屏幕的位置,top顶部 bottom底部 overlayTop顶部,悬浮在内容视图之上 overlayBottom底部,悬浮在内容视图之上
locked={false} //表示手指是否能拖动视图,默认为false(表示可以拖动)
scrollWithoutAnimation={true} //视图切换是否有动画
style={styles.container}
renderTabBar={() => <ScrollableTabBar />} //ScrollableTabBar支持超过屏幕宽度,Tab左右滚动,而DefaultTabBar不支持
onChangeTab={(obj) => {
console.log('index:' + obj.i);
}}
tabBarUnderlineStyle={styles.lineStyle}
tabBarActiveTextColor='#FF0000'
>
<Text style={styles.textStyle} tabLabel='娱乐'>娱乐1</Text>
<Text style={styles.textStyle} tabLabel='科技'>科技1</Text>
<Text style={styles.textStyle} tabLabel='军事'>军事1</Text>
<Text style={styles.textStyle} tabLabel='体育'>体育1</Text>
<Text style={styles.textStyle} tabLabel='娱乐'>娱乐1</Text>
<Text style={styles.textStyle} tabLabel='科技'>科技1</Text>
<Text style={styles.textStyle} tabLabel='军事'>军事1</Text>
<Text style={styles.textStyle} tabLabel='体育'>体育1</Text>
<Text style={styles.textStyle} tabLabel='娱乐'>娱乐1</Text>
<Text style={styles.textStyle} tabLabel='科技'>科技1</Text>
<Text style={styles.textStyle} tabLabel='军事'>军事1</Text>
<Text style={styles.textStyle} tabLabel='体育'>体育1</Text>
</ScrollableTabView>
);
}
}
module.exports = News;
2)样式Style文件
NewsStyle.js
/**
* 新闻主页样式
*/
import {StyleSheet} from 'react-native'; export const styles = StyleSheet.create({
container: {
flex: 1,
marginTop: -4,
},
lineStyle: {
height: 1,
backgroundColor: '#FF0000',
},
textStyle: {
flex: 1,
fontSize: 16,
marginTop: 20,
textAlign: 'center',
},
}); module.exports = styles;
[RN] React Native 使用 React-native-scrollable-tab-view 实现 类头条 新闻页头部 效果的更多相关文章
- 【React Native】React Native项目设计与知识点分享
闲暇之余,写了一个React Native的demo,可以作为大家的入门学习参考. GitHub:https://github.com/xujianfu/ElmApp.git GitHub:https ...
- Native VS React Native VS 微信小程序
随着React Native和 微信小程序的出现,Native一家独大的局面出现裂痕,很多小公司使用已经正在着手微信小程序和React Native了,我公司就已经走上React Native之路.那 ...
- React Native 开发之 (07) 常用组件-View
掌握了React Native的组件就可以使用IOS的原生组件和API. 一 View组件 就像开发web应用程序中,需要使用很多的HTML标签.例如 div,form.但是在基于DIV+CSS布局的 ...
- React Native & react-native-web-player & React Native for Web
React Native & react-native-web-player & React Native for Web https://github.com/dabbott/rea ...
- React Native之React速学教程(下)
概述 本篇为<React Native之React速学教程>的最后一篇.本篇将带着大家一起认识ES6,学习在开发中常用的一些ES6的新特性,以及ES6与ES5的区别,解决大家在学习Reac ...
- React Native之React速学教程(中)
概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...
- React Native之React速学教程(上)
概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...
- WHAT IS THE DIFFERENCE BETWEEN REACT.JS AND REACT NATIVE?
Amit Ashwini - 09 SEPTEMBER 2017 React.js was developed by Facebook to address its need for a dynami ...
- react系列从零开始-react介绍
react算是目前最火的js MVC框架了,写一个react系列的博客,顺便回忆一下react的基础知识,新入门前端的小白,可以持续关注,我会从零开始教大家用react开发一个完整的项目,也会涉及到w ...
随机推荐
- An Illustrated Proof of the CAP Theorem
An Illustrated Proof of the CAP Theorem The CAP Theorem is a fundamental theorem in distributed syst ...
- zookeeper+kafka集群的安装
时效性要求很高的数据,库存,采取的是数据库+缓存双写的技术方案,也解决了双写的一致性的问题 缓存数据生产服务,监听一个消息队列,然后数据源服务(商品信息管理服务)发生了数据变更之后,就将数据变更的消息 ...
- 4.将验证添加到 ASP.NET Core Razor 页面
向 Movie 模型添加了验证逻辑. 每当用户创建或编辑电影时,都会强制执行验证规则. 1.打开Movie.cs文件.DataAnnotations命名空间提供了一组内置的验证属性,这些属性以声明方式 ...
- springboot IDEA新建Maven项目的Plugins出现红线的解决方法
将pom.xml文件copy到桌面,删除项目中的pom.xml.发现项目maven中没有任何东西后,然后将桌面的pom.xml粘贴到项目目录下,刷新maven就ok了
- 利用nfs-client-provisioner动态提供Kubernetes后端存储卷
原文:https://www.kubernetes.org.cn/3894.html 利用NFS client provisioner动态提供Kubernetes后端存储卷 本文翻译自nfs-clie ...
- 【转载】 C#中float、double以及decimal类型有何不同
在C#语言中,float.double以及decimal类型都可以用来表示小数,但三者还是有一定的不同,有效数字为相比的话,decimal类型的有效数字最大,float类型最小.计算浮点类型的运算,如 ...
- 巧用浏览器F12调试器定位系统前后端bug-转载
做测试的小伙伴可能用过httpwatch,firebug,fiddler,charles等抓包(数据包)工具,但实际上除了这些还有一个简单实用并的抓包工具,那就是浏览器的F12调试器. httpwat ...
- 【OGG】OGG简单配置双向复制(三)
[OGG]OGG简单配置双向复制(三) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O ...
- PHP提示 Notice: Undefined variable
PHP提示Notice: Undefined variable,意思是:你的程序中有未定义的变量 为什么在其他地方好好的程序,换个环境报这个Notice,因为php.ini提醒级别设置的问题 场景复原 ...
- Class.getDeclaredFields()和Class.getFields()的区别。 Class.getMethods()和Class.getDeclaredMethods()的区别。
package www.cn.extend; /** Animal * 2019/07/04 * @author Administrator * */ public class Animal { pu ...