为android创建应用程序栏
假设我有一个带有StackNavigator的应用程序,即当用户单击第1页上的某个内容时,他/她被重定向到第2页(使用StackNavigator),等等。 我想有一个应用程序栏,每个应用程序都是全局的,也就是说,每个页面(第1页、第2页等)都应该显示这个应用程序栏。 这就是应用程序栏的意思 [![在此处输入图像描述][1][1] 我在文档中发现一个组件,如下所示:为android创建应用程序栏,android,react-native,Android,React Native,假设我有一个带有StackNavigator的应用程序,即当用户单击第1页上的某个内容时,他/她被重定向到第2页(使用StackNavigator),等等。 我想有一个应用程序栏,每个应用程序都是全局的,也就是说,每个页面(第1页、第2页等)都应该显示这个应用程序栏。 这就是应用程序栏的意思 [![在此处输入图像描述][1][1] 我在文档中发现一个组件,如下所示: <ToolbarAndroid logo={require('./app_logo.png')} t
<ToolbarAndroid
logo={require('./app_logo.png')}
title="AwesomeApp"
actions={[{title: 'Settings', icon: require('./icon_settings.png'), show: 'always'}]}
onActionSelected={this.onActionSelected} />
import MyHeader from '../components/MyHeader';
export default class BlogScreen extends React.Component {
render() {
const {goBack} = this.props.navigation;
return (
<MyHeader goBackProp={goBack} title={'Blog'}/>
);
}
}
这是否意味着我需要将此组件分别放在每个页面的呈现中?(第1页,第2页)。就像我说的,整个应用程序只需要一个工具栏
有人能给我演示一些代码示例如何实现这一点吗?您可以创建一个名为
MyHeader.js的单独组件,并导入到您想要使用的文件中。提供道具来定制它。使用的示例:
MyHeader.js
从“React”导入React;
从“react native”导入{Text,View,Image};
从“本机基础”导入{容器、标题、左侧、正文、右侧、标题、按钮、图标};
从“../assets/style”导入样式;
导出默认类MyHeader扩展React.Component{
render(){
const goBack=this.props.goBackProp;
返回(
goBack()}
>
{this.props.title}
);
}
}
现在,我可以将其导入如下任何组件:
<ToolbarAndroid
logo={require('./app_logo.png')}
title="AwesomeApp"
actions={[{title: 'Settings', icon: require('./icon_settings.png'), show: 'always'}]}
onActionSelected={this.onActionSelected} />
import MyHeader from '../components/MyHeader';
export default class BlogScreen extends React.Component {
render() {
const {goBack} = this.props.navigation;
return (
<MyHeader goBackProp={goBack} title={'Blog'}/>
);
}
}
从“../components/MyHeader”导入MyHeader;
导出默认类BlogScreen扩展React.Component{
render(){
const{goBack}=this.props.navigation;
返回(
);
}
}