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

天津南开区网站建设公司建筑资料下载网

天津南开区网站建设公司,建筑资料下载网,建站公司用的 商城系统,九年级上册信息技术做网站模拟器设置成中文 在开发过程中发现#xff0c;两个模拟器都不能输入中文#xff0c;所以需要配置一下。 先说一下安卓#xff0c;在弹出的输入框中查看设置#xff0c;设置一下对应的languages即可#xff1a; 在苹果模拟器中#xff0c;跟苹果手机一样#xff0c;打…模拟器设置成中文 在开发过程中发现两个模拟器都不能输入中文所以需要配置一下。 先说一下安卓在弹出的输入框中查看设置设置一下对应的languages即可 在苹果模拟器中跟苹果手机一样打开设置然后打开通用同样设置语言 路由搭建 我在这里走了弯路去了另一个库…路由文档入口在这链接 sudo npm install react-navigation/native # 兼容expo sudo npx expo install react-native-screens react-native-safe-area-context # 路由跳转的本质是堆栈 sudo npm install react-navigation/native-stack # 我们项目中会使用到底部导航栏跳转 sudo npm install react-navigation/bottom-tabs我要做的东西如下 大概也能猜出哪些路由了这里说一下路由中tab页面和普通页面的搭建关于抽屉页面后续使用了再补上 // router/index.js import react from react; import { createNativeStackNavigator } from react-navigation/native-stack; import { createBottomTabNavigator } from react-navigation/bottom-tabs; import { Feather } from expo/vector-icons; import { MaterialCommunityIcons } from expo/vector-icons;import HabitHome from ../views/habit/home/index; import HabitDetail from ../views/habit/detail/index; import HabitSet from ../views/habit/set; import DateHome from ../views/date/home/index; import DateSet from ../views/date/set/index;// 这里声明了底部tab页面有哪些还配置了顶部导航栏的一些自定义按钮 const Tab createBottomTabNavigator();function TabStack(){return (Tab.Navigator screenOptions{{ headerShown: true,tabBarInactiveTintColor: #333,tabBarActiveTintColor: #6528F7,tabBarShowLabel: true,}}Tab.Screen nameHabitHome component{HabitHome}options{{title: ,tabBarLabel: 打卡,tabBarIcon: ({ color, size }) (Feather nametarget color{color} size{size} /),}} /Tab.Screen nameDateHome component{DateHome}options{{title: ,tabBarLabel: 纪念日,tabBarIcon: ({ color, size }) (MaterialCommunityIcons namecalendar-heart color{color} size{size} /),}} //Tab.Navigator) }// 将底部导航栏和非底部导航栏的页面都写在这里 const Stack createNativeStackNavigator();function PageStack(){return (Stack.NavigatorStack.ScreennameTabStackcomponent{TabStack}options{{ headerShown: false }}/Stack.Screen nameHabitDetail component{HabitDetail} options{{ title: 习惯详情 }} /Stack.Screen nameHabitSet component{HabitSet}options{{title: 添加一个习惯}} /Stack.Screen nameDateSet component{DateSet} options{{ title: 设置纪念日 }} //Stack.Navigator) }export default PageStack; 接下来就是在App.js中使用了 import * as React from react; import { NavigationContainer } from react-navigation/native; import { Provider } from react-redux import store from ./store/index import PageStack from ./router/indexfunction App() {return (Provider store{store}NavigationContainerPageStack //NavigationContainer/Provider); }export default App;用的状态管理器还是redux像以前在普通react项目中那样使用就行官网地址 开发技巧 ScrollView适合用来显示数量不多的滚动元素。放置在ScrollView中的所有组件都会被渲染还没滑动到下一屏幕也是会被渲染出来FlatList更适于长列表数据且元素个数可以增删和ScrollView不同的是FlatList并不立即渲染所有元素而是优先渲染屏幕上可见的元素。综上如果列表太长的情况下可以优先使用FlatList。View组件类似Div组件但是没有点击事件所有文字必须包含在Text组件中Button组件在两端的机器上显示的不一样所以为了确保样式一致性我会使用View按钮来制作按钮由于View上没有点击事件所以我借助了TouchableOpacity而安卓机上还有一个特有的组件TouchableNativeFeedback做了如下封装 import { TouchableOpacity, TouchableNativeFeedback, Platform } from react-native;function CommonButton (props){const { onPress, children } props;if(Platform.OS android) {return (TouchableNativeFeedback background{TouchableNativeFeedback.Ripple(rgba(215, 187, 245, 0.5), false)}onPress{onPress}{ children }/TouchableNativeFeedback)}else {return (TouchableOpacity onPress{onPress}{ children }/TouchableOpacity)} }export default CommonButton; 从上面的例子可知Platform可以用来判断端的类型如果你觉得一个文件编写两套代码麻烦可以改成下面的方式 - common-button.ios.js - common-button.android.js在引入文件的时候还是直接写 import CommonButton from xxx/xxx/common-buttonReact Native中的flex跟平常的还是有些区别的 由于样式的局限性所以在项目中我想借助float来写瀑布流样式是不支持的后来实现的方法是采用了拆分成了两列 生成随机数有很多种npm包供使用比如nanoid但是它不兼容React Native这里采用了uuid: npm i uuid react-native-get-random-values// store/modules/habitimport { createSlice } from reduxjs/toolkit; import react-native-get-random-values; import { v4 as uuidv4 } from uuid;const defaultList [{id: uuidv4(10),name: 打卡,count: 0,}, ]// ...expo包内置了图标文档地址expo/vector-icons路由跳转在页面的props中可以获取navigation对象 function HabitHome(props) {const { navigation } props;// ...// 新增打卡const goSetPage () {navigation.navigate(HabitSet)}// ... }当用户在输入某些内容会弹出键盘键盘有时候会挡住页面可以借助KeyboardAvoidingView组件本组件可以自动根据键盘的高度调整自身的 height 或底部的 padding以避免被遮挡另外键盘弹出之后我们希望可以在点击其他地方的时候自动收回键盘那么可以借助TouchableWithoutFeedback最终代码如下 function HabitSet(props) {// ...// 收起键盘const onPress () {Keyboard.dismiss();}return (TouchableWithoutFeedback onPress{onPress}KeyboardAvoidingView style{styles.container} behavior{Platform.OS ios ? padding : height}// .../KeyboardAvoidingView/TouchableWithoutFeedback); } 参考 exporeact nativereact-navigation图标配色参考react-redux
http://www.huolong8.cn/news/157959/

相关文章:

  • 网站软文代写建设厅官方网站企业库
  • 成都seo整站产品设计作品
  • 漯河市郾城区网站建设洛阳微信平台网站建设
  • 网站自己可以备案吗个人网站要求
  • 百度小程序对网站seo12306网站制作
  • 宛城区建网站临清网站优化
  • 阜宁做网站哪家好公司网站更换域名
  • 空间建设网站公司创建一个网站多少钱
  • 网站开发商品排序逻辑阿里巴巴运营的工作内容
  • 网站树状栏目有点昆明网站建设开发制作
  • 网站引导制作做电商一般月入多少钱
  • 自己做的网站微信pc端显示乱码电商网站有哪些使用场景
  • 网站建立分站西安seo推广
  • 勒流顺德网站建设如何设计好的网页
  • 外贸网站建设哪里实惠湖南益阳新增本土确诊0例
  • 企业网站运营推广难做吗互联网公司排名名单
  • 天津百度网站快速优化wordpress后台修改文章浏览数
  • 成都网站建设 哪家比较好个人建设网站盈利需要什么材料
  • 深圳一定火网站建设增城定制型网站建设
  • dw怎么做百度页面网站适合seo的建站系统
  • 石家庄个人建站网站策划成都微信网站设计
  • 企业网站建设产品设计书找网站设计公司 看那些
  • 做外贸需要自己建网站吗安装wordpress教程
  • 江西企业网站建设价格建筑企业分公司使用总公司资质
  • 郑州网站如何制作怎样做网站
  • 三亚论坛seo如何提升排名收录
  • 用PS做网站搜索框相机网站建设规划书
  • 佛山免费建站公司做化工的外贸网站都有什么意思
  • 怎么做可以直播的网站卡地亚官方网站制作需要多少钱
  • 成品ppt网站邹平做网站的联系方式