当前位置: 首页 > news >正文

深圳做网站(信科网络)如何自创网站

深圳做网站(信科网络),如何自创网站,快速建站模板自助建站,工商管理系统官网这段组件代码逻辑是出事有一个View和下面的块,下面的块也就是红色区域可以按住向上向下滑动,当滑动到屏幕最上面则停止滑动,再向上滑动的过程中,上方的View的背景色也会有个渐变效果,大概逻辑就是这样 代码如下 import React, {useEffect, useRef, useState} from react; impo…

这段组件代码逻辑是出事有一个View和下面的块,下面的块也就是红色区域可以按住向上向下滑动,当滑动到屏幕最上面则停止滑动,再向上滑动的过程中,上方的View的背景色也会有个渐变效果,大概逻辑就是这样

代码如下

import React, {useEffect, useRef, useState} from 'react';
import {View,PanResponder,Animated,StyleSheet,SafeAreaView,Dimensions,Text,
} from 'react-native';const App = () => {const [colors, setColors] = useState('rgba(237, 36, 46, 1)');const scrollY = useRef(new Animated.Value(300)).current;const currentHeight = useRef(300);const panResponder = useRef(PanResponder.create({onStartShouldSetPanResponder: () => true,onPanResponderMove: (evt, gestureState) => {const newHeight = currentHeight.current - gestureState.dy;const clampedHeight = Math.min(Math.max(newHeight, 0),Dimensions.get('window').height,);scrollY.setValue(clampedHeight);},onPanResponderRelease: () => {currentHeight.current = scrollY._value;},}),).current;useEffect(() => {const listener = scrollY.addListener(({value}) => {// console.log('ScrollY value changed:', value); // animail处的高度// console.log('Dimensions.get().height', Dimensions.get('window').height); // 设备总高度console.log('上方View的高度等于总高度-下方animail的高度',Dimensions.get('window').height - value,);// 因为我这里需求是给View一个完整颜色,根据rgba值从0到1显示,因此我要将上面高度分成100份// 向上或者向下减少多少份 当前高度-总高度const nums =(Dimensions.get('window').height - value) /(Dimensions.get('window').height - 300);// 设置颜色setColors('rgba(237,36,46,' + nums + ')');});// 在组件卸载时移除监听器return () => {scrollY.removeListener(listener);};}, []);return (<View style={styles.container}><Viewstyle={{backgroundColor: colors,width: 300,height: 50,}}></View><Animated.Viewstyle={[styles.box,{height: scrollY.interpolate({inputRange: [0, 600],outputRange: [0, 600],}),backgroundColor: 'red',},]}{...panResponder.panHandlers}><SafeAreaView>{/* 占位内容 */}<Text>1111</Text></SafeAreaView></Animated.View></View>);
};const styles = StyleSheet.create({container: {flex: 1,},box: {position: 'absolute',bottom: 0,left: 0,right: 0,},
});export default App;

效果图
初始效果
在这里插入图片描述
当往上滑动时效果
在这里插入图片描述
可以看出滑动过程中上方块的背景色被改变了,我这个块当顶部就停止滑动了

下面是我项目里面需要用的效果,当到顶部时会把背景做个替换,这个也就是在代码里面的nums为0时,就是顶部可以在那里去做背景替换

在这里插入图片描述

http://www.shuangfujiaoyu.com/news/55030.html

相关文章:

  • 做网站wzjseo产品推广方案ppt模板
  • 做网站赚取广告费新网站如何快速收录
  • 廊坊企业建站网络营销软件下载
  • 爱名网做网站教程百度官方网站登录
  • html旅游网站制作代码google浏览器入口
  • 张家港那家做网站常用的网络推广手段有哪些
  • wordpress css修改搜索引擎优化的缺点包括
  • 长景园林这个网站谁做的soe搜索优化
  • 一些有趣的网站中山网站seo优化
  • 动态网站开发的用途卢松松外链工具
  • 做网站 插件整站营销系统
  • 关键词网站查询全球网站排行榜
  • 昆明网站制作游戏推广公司怎么接游戏的
  • 韩国手做配件网站公司以优化为理由裁员合法吗
  • 手机网页尺寸南京百度快速排名优化
  • 凡客诚品购物网抖音seo培训
  • 如何做动态网站html青岛网页搜索排名提升
  • 江苏优质网站制作公司搜索引擎营销的流程
  • 做网站需要哪个系统国内建站平台有哪些
  • 百度推广的渠道有哪些关键词优化排名怎么做
  • 网站怎么加关键词5118关键词查询工具
  • 用凡科做的网站要钱吗营业推广怎么写
  • 如何搜索公司所有的网站网络运营是做什么的
  • 哪里有南宁网站建设个人开发app去哪里接广告
  • python培训机构国外网站谷歌seo推广
  • 网站制作文章标签百度seo营销推广多少钱
  • 中国建设网站轨道自检验收报告表百度关键词搜索排名
  • 之路网站建设网站关键词排名优化推广软件
  • 天猫优惠券网站怎么做网络搜索工具
  • 重庆做网站的网络公司贴吧推广