简体   繁体   English

react-native position 元件在底部

[英]react-native position element at the bottom

I am trying to move a react native component called "forum" to the bottom of the screen, I tried position: fixed, bottom:0 but it didn't work I also tried 'flex-end' and still didn't work any idea what's wrong?我正在尝试将名为“论坛”的反应原生组件移动到屏幕底部,我尝试了 position: fixed, bottom:0 但它不起作用我也尝试了 'flex-end' 但仍然没有任何工作想法有什么问题?

here is the expo code:这是 expo 代码:

import React from 'react';
import { Text, View, TouchableOpacity } from 'react-native';
import { DrawerNavigator } from 'react-navigation';


class HomeScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
        <TouchableOpacity
          onPress={() => this.props.navigation.navigate('DrawerOpen')}>
          <Text>Open Drawer</Text>
        </TouchableOpacity>
        <Text style={{ fontWeight: 'bold', marginTop: 20 }}>Home</Text>
      </View>
    );
  }
}

class Enquiry extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
        <TouchableOpacity
          onPress={() => this.props.navigation.navigate('DrawerOpen')}>
          <Text>Open Drawer</Text>
        </TouchableOpacity>
        <Text style={{ fontWeight: 'bold', marginTop: 20 }}>Enquiry</Text>
      </View>
    );
  }
}
class Batches extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
        <TouchableOpacity
          onPress={() => this.props.navigation.navigate('DrawerOpen')}>
          <Text>Open Drawer</Text>
        </TouchableOpacity>
        <Text style={{ fontWeight: 'bold', marginTop: 20 }}>Batches</Text>
      </View>
    );
  }
}
class Forum extends React.Component {
  render() {
    return (
      <View style={{ flex:1,justifyContent:'center',alignItems: 'center',position:'absolute',bottom:0}}>
        <TouchableOpacity
          onPress={() => this.props.navigation.navigate('DrawerOpen')}>
          <Text>Open Drawer</Text>
        </TouchableOpacity>
        <Text style={{ fontWeight: 'bold',marginBottom:36}}>Forum</Text>
      </View>
    );
  }
}

const MyDrawerNavigator = new DrawerNavigator(
  {
    Home: HomeScreen,
    
    Batches:Batches,
  Enquiry:Enquiry,
Forum:Forum,
  },
  {
    drawerBackgroundColor: 'rgba(255,255,255,.9)',
    contentOptions: {
      activeTintColor: '#fff',
      activeBackgroundColor: '#6b52ae',
    },
  }
);

export default MyDrawerNavigator;

I am not allowed to share images but click the link to see enter image description here我不允许分享图片,但点击链接查看在此处输入图片描述

The valid position option in react native is relative or absolute . react native 中的有效position选项是relativeabsolute The default value is relative .默认值为relative

If you want scroll content and fix position of Forum in your screen, you have to separate your view hierarchy like the following and use absolute position.如果要滚动内容并在屏幕上修复Forum的 position,则必须像以下那样分离视图层次结构并使用absolute position。

<View>
  <ScrollView>
   ...anything content
  </ScrollView>
  
  <Forum style={{position:'absolute', bottom: 0}}/>
</View>
<...>
  <MyDrawerNavigator .../>
  <Forum style={{position:'absolute', bottom: 0}} .../>
<.../>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM