Rn使用FlatList导航栏自动回到中间

news2024/9/24 15:23:46

在这里插入图片描述

import { useState, useRef } from 'react'
import { FlatList, View, Text, StyleSheet, TouchableOpacity } from 'react-native'

const Center = () => {
    const tabs = ["语文", "数学", "英语", "政治", "历史", "地理"]
    const [active, setActive] = useState(0)
    const flatRef = useRef()

    const activeTab = (index) => {
        setActive(index)
        flatRef.current.scrollToIndex({ viewPosition: 0.5, index: index, animated: true })
    }

    return (
        <>
            <View style={styles.nav}>
                <FlatList data={tabs} ref={flatRef} horizontal showsHorizontalScrollIndicator={false}
                    renderItem={({ item, index }) => (
                        <TouchableOpacity key={index} onPress={() => activeTab(index)}
                            style={[
                                styles.nav_item,
                                active == index && styles.nav_item_active,
                                tabs.length - 1 == index && styles.nav_item_last
                            ]}>
                            <Text style={active == index && styles.nav_item_active_text}>
                                {item}
                            </Text>
                        </TouchableOpacity>
                    )}
                />
            </View>
        </>
    )
}

const styles = StyleSheet.create({
    nav: {
        height: 45,
        flexDirection: "row",
        alignItems: "center",
        borderBottomColor: "#eee",
        borderBottomWidth: 1,
        paddingHorizontal: 10
    },
    nav_item: {
        paddingHorizontal: 20,
        paddingVertical: 4,
        borderColor: "#DADCE2",
        borderWidth: 1,
        borderRadius: 20,
        alignItems: "center",
        justifyContent: "center",
        marginRight: 10
    },
    nav_item_last: {
        marginRight: 0
    },
    nav_item_active: {
        backgroundColor: "#2C72FF",
        borderColor: "transparent",
    },
    nav_item_active_text: {
        color: "#ffffff"
    }
})

export default Center

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1079459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新的“HTTP/2 快速重置”零日攻击打破了 DDoS 记录

自 8 月份以来&#xff0c;一种名为“HTTP/2 快速重置”的新 DDoS&#xff08;分布式拒绝服务&#xff09;技术已被作为零日漏洞积极利用&#xff0c;其规模打破了之前的所有记录。 Amazon Web Services、Cloudflare 和 Google 今天联合发布了有关零日技术的消息&#xff0c;他…

PHP 自习室空位查询系统mysql数据库web结构apache计算机软件工程网页wamp计算机毕业设计

一、源码特点 PHP 自习室空位查询系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 php 自习室空位查询系统1 代码 https://download.csdn.net/download/qq_41221322/…

聊聊身边的嵌入式:点菜机用着好好的,突然挂了,这口锅应该甩给谁?

周末被老婆challenge了。之所以用这个英文词汇&#xff0c;是因为实在难以找出一个恰当的中文&#xff0c;来表达这个意思。挑战&#xff1f;盘问&#xff0c;质疑&#xff1f;臭骂&#xff1f;好像都不对劲儿。对了&#xff0c;想来想去&#xff0c;只有diao这个词有点儿接近&…

小视频APP源码实战:探寻成功案例与经验分享

在这个数字化时代&#xff0c;小视频APP源码已经成为创业者们追逐成功的热门选择。本文将揭示三个成功案例&#xff0c;为您带来宝贵的经验分享。 案例一&#xff1a;「绝绝子」&#xff0c;小视频APP带来的逆袭奇迹 小视频APP「绝绝子」的成功故事令人瞩目。通过精心策划的内…

[网鼎杯 2018]Comment git泄露 / 恢复 二次注入 .DS_Store bash_history文件查看

首先我们看到账号密码有提示了 我们bp爆破一下 我首先对数字爆破 因为全字符的话太多了 爆出来了哦 所以账号密码也出来了 zhangwei zhangwei666 没有什么用啊 扫一下吧 有git git泄露 那泄露看看 真有 <?php include "mysql.php"; session_start(); if(…

TWDS车辆轮对故障、尺寸动态检测系统

随着我国铁路的建设发展&#xff0c;客运专线网络形成&#xff0c;既有铁路的货运能力得到释放&#xff0c;货物运输向重载方向发展&#xff0c;运输组织呈现长交路、运转周期短、编组固定的特点。 跟踪调查表明重载车辆车轮磨耗较普通车辆更为严重。大秦线c80型车辆在不到1个…

vue3+ts项目02-安装eslint、prettier和sass

创建项目 项目创建 安装eslint yarn add eslint -D生成配置文件 npx eslint --init安装其他插件 yarn add -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin-node babel/eslint-parser vue-e…

前端好文+插件分享(持续更新中...)

CSS 「滚动绽放」实现页面滚动时逐渐展示/隐藏元素https://github.com/vnyoon/web-magic &#xff08;相关CSS动画特效实现&#xff09; 钉钉官网首页的炫酷动效” 被我用css新特性轻松破解啦&#xff5e; 软件开发 1 模型驱动是什么意思&#xff1f;底层原理是什么&#xf…

Linux发布Java项目,使用screen窗口

代码写完正常的打包 登录Linux&#xff0c;使用screen -ls命令查看现有的窗口 将之前的jar备份一个cp 原jar包名 备份后jar包名&#xff0c;再将jar包复制到对应的路径下 使用screen -r -d 窗口名 命令进入到之前启动jar包的窗口&#xff0c;停掉之前的窗口&#xff0c;直接…

无法打开文件“opengl32.lib”

无法打开文件“opengl32.lib” [TOC](无法打开文件“opengl32.lib”) 前言一、找到库链接配置勾选继承input里也要勾选继承 前言 随便找个教程配置结果报错无法打开文件opengl32.lib 分析原因&#xff1a; opengl库和windows自带库一样出问题应该是VS配置有问题 提示&#xff…

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(二)

思维导图 构造函数&数据常用函数 一、深入对象 1.1创建对象三种方式 1.2 构造函数 1.3实例成员&静态成员 二、内置构造函数 为什么简单数据类型也有方法? 基本数据类型包装成复杂数据类型 2.1 Object 2.2 Array reduce() 第二个参数&#xff08;初始值&#xff09;不…

rust cfg的使用

前提是一个crate倒入另一个crate。 先看结构 test_lib目录结构 这与另一个crate处于同一个目录,所以另一crate倒入的时候在Cargo.toml中使用如下语句。 test_lib = {path = "../test_lib" }先在test_lib/src/abc/abc.rs中添加没有cfg的两个函数做测试。 pub fn…

Tabby All configured authentication methods failed

文章目录 重要序言错误原因tabby的连接设置 总结 重要序言 Tabby是一款美观耐用的软件&#xff0c;平常一直用来输入密码方法SSH公司服务器&#xff0c;后来为了另外一台服务器加了SSH私钥&#xff0c;之后Tabby SSH连接死活不成功&#xff0c;哎&#xff0c;折腾了好久&#…

【VS Code】推荐一套我非常喜欢的主题和字体样式

话不多说&#xff0c;先上样式&#xff1a; 这里我的主题是 One Dark Pro&#xff0c;也是 VS Code 里面使用非常多的主题之一。直接安装插件即可使用。 我的字体是 JetBrains Mono&#xff0c;虽然使用的是 VS Code&#xff0c;但还是喜欢 webstorm 的字体。我们可以直接去官网…

随着 ChatGPT 凭借 GPT-4V(ision) 获得关注,多模态 AI 不断发展

原创 | 文 BFT机器人 在不断努力让人工智能更像人类的过程中&#xff0c;OpenAI的GPT模型不断突破界限GPT-4现在能够接受文本和图像的提示。 生成式人工智能中的多模态表示模型根据输入生成文本、图像或音频等各种输出的能力。这些模型经过特定数据的训练&#xff0c;学习底层模…

ssm+vue的车辆出租管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的车辆出租管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

Android系统修改AOSP输入法默认输入语言

Android系统中的Android键盘(AOSP)有个语言设置选项,里面默认的是“使用系统语言”,现在客户要求关闭默认“使用系统语言”,打开美式英语。即默认如下图: 网上很多方法都是设置输入法的Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE属性为 -921088104。实际测试在Andr…

go 项目打包部署到服务器

1、window打包到Linux 步骤1 依次执行一下命令&#xff0c;就会得到一个exe 文件 步骤2 把打包的文件&#xff0c;放到服务器上&#xff08;可以使用FinalShell工具&#xff09; chmod x main # 执行这个命令&#xff0c;给main 文件添加 执行权限&#xff0c;然后执行 ls &…

【数据结构】队列(Queue)实现详解

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要了解实现队列的相关操作。 目录&#xff1a; &#x1f30d; 队列&#x1f52d;概念&#x1f52d;结构&…

有必要买一台内衣裤专洗机吗?家用小洗衣机推荐

随着内衣洗衣机的流行&#xff0c;很多小伙伴在纠结该不该入手一款内衣洗衣机&#xff0c;专门来洗一些贴身衣物&#xff0c;答案是非常有必要的&#xff0c;因为我们现在市面上的大型洗衣机只能做清洁&#xff0c;无法对我们的贴身衣物进行一个高强度的清洁&#xff0c;而小小…