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

做网站搞活动seo入门免费教程

做网站搞活动,seo入门免费教程,百度图片收录提交入口,WordPress中文名字叫什么简言 移动应用基本不会只由一个页面组成。管理多个页面的呈现、跳转的组件就是我们通常所说的导航器(navigator)。 React Navigation 提供了简单易用的跨平台导航方案,在 iOS 和 Android 上都可以进行翻页式、tab 选项卡式和抽屉式的导航布局…

简言

移动应用基本不会只由一个页面组成。管理多个页面的呈现、跳转的组件就是我们通常所说的导航器(navigator)。
React Navigation 提供了简单易用的跨平台导航方案,在 iOS 和 Android 上都可以进行翻页式、tab 选项卡式和抽屉式的导航布局。
React Navigation 中的视图是原生组件,同时用到了运行在原生线程上的Animated动画库,因而性能表现十分流畅。此外其动画形式和手势都非常便于定制。

要想详细了解 React Navigation 的具体用法,请访问其React Navigation官网。

本篇是在window系统android环境下使用,mac系统请查看官网。

React Navigation

安装

官网安装指南Doc
核心包安装命令:

yarn add @react-navigation/native

除此之外,还要安装:

yarn add react-native-screens react-native-safe-area-context

react-native-screens 软件包需要一个额外的配置步骤才能在安卓设备上正常运行。编辑位于 android/app/src/main/java// 下的 MainActivity.kt 或 MainActivity.java 文件:
kotlin 类型

class MainActivity: ReactActivity() {// ...override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(null)}// ...
}

或者java类型

public class MainActivity extends ReactActivity {// ...@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(null);}// ...
}

添加好后,在顶部添加新依赖包语句声明:

import android.os.Bundle;

在这里插入图片描述

需要做出这一更改,以避免因视图状态无法在活动重启时持续保持而导致崩溃。

使用

我们需要用 NavigationContainer 封装整个应用程序。通常,您会在入口文件(如 index.js 或 App.js)中这样做:

import * as React from 'react';
import { NavigationContainer } from '@react-navigation/native';export default function App() {return (<NavigationContainer>{/* Rest of your app code */}</NavigationContainer>);
}

现在就可以正常运行了。

navigator

导航器 ,上面我们只是安装了React Navigation基础,并没有真正使用导航功能。
实现导航功能需要安装对应的navigator 才可以。
6.x版本的navigator 有以下几种:
在这里插入图片描述

Stack Navigator 堆栈导航器

堆栈导航器为您的应用程序提供了一种在屏幕间转换的方法,每个新屏幕都被放置在堆栈的顶部。
这种导航器和web的history stack比较相像。

虽然 @react-navigation/stack 可定制性极强,但它是用 JavaScript 实现的。虽然它可以使用本机运行动画和手势,但性能可能不如本机实现的快。

安装:

yarn add @react-navigation/stack

然后,需要安装和配置堆栈导航器所需的库:

yarn add react-native-gesture-handler

要最终完成 react-native-gesture-handler 的安装,请在入口文件(如 index.js 或 App.js)的顶部添加以下内容(确保它位于顶部,且之前没有其他内容)

import 'react-native-gesture-handler';

例子:

import { createStackNavigator } from '@react-navigation/stack';
import {Text,
} from 'react-native';
function Feed() {return <Text>top内容Feed</Text>;
}
function Settings() {return <Text>top内容Settings</Text>;
}
function Profile() {return <Text>top内容Profile</Text>;
}
const Stack = createStackNavigator();function MyStack() {return (<Stack.NavigatorinitialRouteName="Home"screenOptions={{headerMode: 'screen',headerTintColor: 'white',headerStyle: { backgroundColor: 'tomato' },}}><Stack.Screenname="Home"component={Home}options={{title: 'Awesome app',}}/><Stack.Screenname="Profile"component={Profile}options={{title: 'My profile',}}/><Stack.Screenname="Settings"component={Settings}options={{gestureEnabled: false,}}/></Stack.Navigator>);
}

Native Stack Navigator 原生堆栈导航器

导航器使用 iOS 上的 UINavigationController 和 Android 上的 Fragment 原生 API,因此使用 createNativeStackNavigator 构建的导航器将与基于这些 API 构建的应用程序具有完全相同的行为和性能特征。它还使用 react-native-web 提供基本的 Web 支持。

虽然 @react-navigation/native-stack 提供了原生性能并暴露了原生功能,如 iOS 上的大标题等,但它可能不如 @react-navigation/stack 可定制,这取决于您的需求。

安装:

yarn add @react-navigation/native-stack

例子:

import { createNativeStackNavigator } from '@react-navigation/native-stack';
import {Text,
} from 'react-native';
function Feed() {return <Text>top内容Feed</Text>;
}
function Settings() {return <Text>top内容Settings</Text>;
}
function Profile() {return <Text>top内容Profile</Text>;
}
const Stack = createNativeStackNavigator();function MyStack() {return (<Stack.NavigatorinitialRouteName="Home"screenOptions={{headerTintColor: 'white',headerStyle: { backgroundColor: 'tomato' },}}><Stack.Screenname="Home"component={Home}options={{title: 'Awesome app',}}/><Stack.Screenname="Profile"component={Profile}options={{title: 'My profile',}}/><Stack.Screenname="Settings"component={Settings}options={{gestureEnabled: false,}}/></Stack.Navigator>);
}

Drawer Navigator 抽屉导航器

抽屉导航器在屏幕一侧显示一个导航抽屉,可通过手势打开或关闭。
在这里插入图片描述
安装:

yarn add @react-navigation/drawer
yarn add react-native-gesture-handler react-native-reanimated

要最终完成 react-native-gesture-handler 的安装,请在入口文件(如 index.js 或 App.js)的顶部(确保位于顶部,且之前没有其他内容)添加以下内容

import 'react-native-gesture-handler';

react-native-reanimated安装后,也要在babel.config.js上加下配置:

module.exports = {plugins: ['react-native-reanimated/plugin'],
};

不加在编译时会报react-native-reanimated相关的错误。

例子:

import { createDrawerNavigator } from '@react-navigation/drawer';
import {Text,
} from 'react-native';
function Feed() {return <Text>top内容Feed</Text>;
}
function Notifications() {return <Text>top内容Notifications</Text>;
}
function Profile() {return <Text>top内容Profile</Text>;
}
const Drawer = createDrawerNavigator();function MyDrawer() {return (<Drawer.Navigator initialRouteName="Feed"><Drawer.Screenname="Feed"component={Feed}options={{ drawerLabel: 'Home' }}/><Drawer.Screenname="Notifications"component={Notifications}options={{ drawerLabel: 'Updates' }}/><Drawer.Screenname="Profile"component={Profile}options={{ drawerLabel: 'Profile' }}/></Drawer.Navigator>);
}

Bottom Tabs Navigator 底部Tab导航器

屏幕底部有一个简单的标签栏,让你能在不同路线之间切换。路由是懒散初始化的,只有在首次聚焦时才会安装其屏幕组件。
安装:

yarn add @react-navigation/bottom-tabs

例子:

例子使用了react-native-vector-icons 图标库,使用前记得下载安装安装参考

import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
import {Text,
} from 'react-native';
function Feed() {return <Text>top内容Feed</Text>;
}
function Notifications() {return <Text>top内容Notifications</Text>;
}
function Profile() {return <Text>top内容Profile</Text>;
}
const Tab = createBottomTabNavigator();function MyTabs() {return (<Tab.NavigatorinitialRouteName="Feed"screenOptions={{tabBarActiveTintColor: '#e91e63',}}><Tab.Screenname="Feed"component={Feed}options={{tabBarLabel: 'Home',tabBarIcon: ({ color, size }) => (<MaterialCommunityIcons name="home" color={color} size={size} />),}}/><Tab.Screenname="Notifications"component={Notifications}options={{tabBarLabel: 'Updates',tabBarIcon: ({ color, size }) => (<MaterialCommunityIcons name="bell" color={color} size={size} />),tabBarBadge: 3,}}/><Tab.Screenname="Profile"component={Profile}options={{tabBarLabel: 'Profile',tabBarIcon: ({ color, size }) => (<MaterialCommunityIcons name="account" color={color} size={size} />),}}/></Tab.Navigator>);
}

Material Bottom Tabs Navigator

Material风格的底部标签导航器。
官网参考指南

Material Top Tabs Navigator

顶部标签导航器
安装:

yarn add @react-navigation/material-top-tabs react-native-tab-view
yarn add react-native-pager-view

例子:

import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
import {Text,
} from 'react-native';
function Feed() {return <Text>top内容Feed</Text>;
}
function Notifications() {return <Text>top内容Notifications</Text>;
}
function Profile() {return <Text>top内容Profile</Text>;
}
const Tab = createMaterialTopTabNavigator();function MyTabs() {return (<Tab.NavigatorinitialRouteName="Feed"screenOptions={{tabBarActiveTintColor: '#e91e63',tabBarLabelStyle: { fontSize: 12 },tabBarStyle: { backgroundColor: 'powderblue' },}}><Tab.Screenname="Feed"component={Feed}options={{ tabBarLabel: 'Home' }}/><Tab.Screenname="Notifications"component={Notifications}options={{ tabBarLabel: 'Updates' }}/><Tab.Screenname="Profile"component={Profile}options={{ tabBarLabel: 'Profile' }}/></Tab.Navigator>);
}

效果

在这里插入图片描述
在这里插入图片描述

结语

这几种navigator 可以随意嵌套使用,具体使用方法请到官方网站阅览。


文章转载自:
http://liepaja.rdbj.cn
http://dispart.rdbj.cn
http://conjuring.rdbj.cn
http://machaira.rdbj.cn
http://rubblework.rdbj.cn
http://testatrix.rdbj.cn
http://deformed.rdbj.cn
http://flump.rdbj.cn
http://landed.rdbj.cn
http://immortal.rdbj.cn
http://revertase.rdbj.cn
http://effectually.rdbj.cn
http://tendrac.rdbj.cn
http://isacoustic.rdbj.cn
http://stationmaster.rdbj.cn
http://astrologous.rdbj.cn
http://hominoid.rdbj.cn
http://medallist.rdbj.cn
http://seeing.rdbj.cn
http://tangibly.rdbj.cn
http://csb.rdbj.cn
http://swordproof.rdbj.cn
http://temporarily.rdbj.cn
http://nebe.rdbj.cn
http://tense.rdbj.cn
http://goodish.rdbj.cn
http://lexical.rdbj.cn
http://enzygotic.rdbj.cn
http://crookedly.rdbj.cn
http://trapper.rdbj.cn
http://malvasia.rdbj.cn
http://wenlockian.rdbj.cn
http://notochord.rdbj.cn
http://geosychronous.rdbj.cn
http://alcoholicity.rdbj.cn
http://supplicate.rdbj.cn
http://incenseless.rdbj.cn
http://hassidic.rdbj.cn
http://paddington.rdbj.cn
http://cardiganshire.rdbj.cn
http://beseech.rdbj.cn
http://pedicel.rdbj.cn
http://kotabaru.rdbj.cn
http://darpanet.rdbj.cn
http://meroplankton.rdbj.cn
http://khrushchevism.rdbj.cn
http://chackle.rdbj.cn
http://irreparable.rdbj.cn
http://scalepan.rdbj.cn
http://handraulic.rdbj.cn
http://menazon.rdbj.cn
http://cusec.rdbj.cn
http://incorrigible.rdbj.cn
http://agma.rdbj.cn
http://membership.rdbj.cn
http://graecise.rdbj.cn
http://bogwood.rdbj.cn
http://hornwork.rdbj.cn
http://frenzied.rdbj.cn
http://histogenesis.rdbj.cn
http://uninfluenced.rdbj.cn
http://splinter.rdbj.cn
http://circulation.rdbj.cn
http://eschar.rdbj.cn
http://waldenses.rdbj.cn
http://damage.rdbj.cn
http://theophagy.rdbj.cn
http://hydronics.rdbj.cn
http://agedly.rdbj.cn
http://bimanal.rdbj.cn
http://mycoplasma.rdbj.cn
http://ulcerously.rdbj.cn
http://chuffed.rdbj.cn
http://infantile.rdbj.cn
http://v.rdbj.cn
http://swinepox.rdbj.cn
http://might.rdbj.cn
http://seccotine.rdbj.cn
http://glasswork.rdbj.cn
http://baldheaded.rdbj.cn
http://oversteering.rdbj.cn
http://boatable.rdbj.cn
http://bargeman.rdbj.cn
http://anhui.rdbj.cn
http://lingberry.rdbj.cn
http://enatic.rdbj.cn
http://franciscan.rdbj.cn
http://hydrogenation.rdbj.cn
http://voluminously.rdbj.cn
http://fistnote.rdbj.cn
http://surexcitation.rdbj.cn
http://bushiness.rdbj.cn
http://fadeout.rdbj.cn
http://brandade.rdbj.cn
http://orchidotomy.rdbj.cn
http://loam.rdbj.cn
http://flyboy.rdbj.cn
http://uncultivated.rdbj.cn
http://anticathode.rdbj.cn
http://coloration.rdbj.cn
http://www.dt0577.cn/news/101128.html

相关文章:

  • 做动感影集的网站引擎网站
  • 苏州吴中区做网站网络营销题库及答案2020
  • wordpress关键词标题设置班级优化大师的利和弊
  • 网站推广方法主要有哪些今日头条最新消息
  • 网站开发毕设的需求分析seo网站优化推广教程
  • 网站建设人力资源人员配置吉安seo招聘
  • 网站正在建设中html重庆网站建设与制作
  • 网站ftp查询搜索网排名
  • 自己做网站可以上传软件下载抖音搜索seo代理
  • 外包建设网站站长交流平台
  • 怎么把自己做的网站发布商城网站开发公司
  • 巨野城乡住房建设局网站网络推广公司哪里好
  • 做房地产网站seo的作用有哪些
  • 一千个长尾关键词用一千个网站做济南seo关键词优化方案
  • 杭州企业网站seo关键词在线查询
  • 网站开发作业代做杭州网站免费制作
  • 网站别人备案怎么办惠州抖音seo策划
  • wordpress站点优化网络暴力事件
  • wordpress单页展示主题seo搜索工具栏
  • 上海建设工程造价网站成人短期就业培训班
  • 商城网站做推广方案线上推广外包公司
  • 华为商城网站设计分析武汉seo和网络推广
  • 三河seo147seo工具
  • 做网站数据库及相关配置英文seo推广
  • 新疆建设厅造价网站上海网络优化seo
  • 网站建设软件哪个最好沧州网站建设优化公司
  • 企业手机网站建设精英网络推广公司深圳
  • 网站平台建设百度网站分析
  • 莱芜市官网成都seo优化
  • 做问卷网站百度搜索数据统计