Мои строки меню гамбургера не выровнены, что делать - PullRequest
0 голосов
/ 16 апреля 2019

Мои гамбургеры не выравниваются на экране

Я посетил разные методы стиля, такие как alignItems, но все еще не дал результатов. Что касается позиционирования полей, я не могу идти дальше влево, разделяя каждую строку (все 3 из них) примерно на 2 пикселя каждая. основная проблема - горизонтальное выравнивание каждой линии.

Может кто-нибудь помочь, пожалуйста?

import React from 'react';
import {AppRegistry, StyleSheet, View} from "react-native" ;




export default class MenuButton extends React.Component {
    render() {
        return(
        <View style={menuIcon.mainLine}>

         <View style={menuIcon.line2}>
          <View style={menuIcon.line3}>
            </View>
             </View>
                 </View>
        ) 
    }
}

const menuIcon = StyleSheet.create({
   mainLine: {
        flex: 1,
backgroundColor : 'rgba(255, 255, 255, 1)',
top  : 4,
height              : 6.5,
width               : 35,
  position            : 'absolute',
  marginTop              : 40,
  marginLeft             : 25,
 alignItems             : "stretch",
  left                : 0,
  right                : 0,
   borderRadius       : 20,
  borderStyle        : 'solid',
  borderWidth        : 1,
  borderColor        : 'rgba(205, 205, 205, 1)'
  },
    line2: {
        flex: 1,
backgroundColor : 'rgba(255, 255, 255, 1)',
top  : 7,
height              : 6.5,
width               : 35,
  position            : 'absolute',
  marginTop              : 0,
  marginLeft             : 0,

  left                : 0,
  right                : 0,
   borderRadius       : 20,
  borderStyle        : 'solid',
  borderWidth        : 1,
  borderColor        : 'rgba(205, 205, 205, 1)'
  },
   line3: {
        flex: 1,
backgroundColor : 'rgba(255, 255, 255, 1)',
top  : 7,
height              : 6.5,
width               : 35,
  position            : 'absolute',
  marginTop              : 0,
  marginLeft             : 0,

  left                : 0,
  right                : 0,
   borderRadius       : 20,
  borderStyle        : 'solid',
  borderWidth        : 1,
  borderColor        : 'rgba(205, 205, 205, 1)'
  }
  })

AppRegistry.registerComponent('AwesomeProject', () => FixedDimensionsBasics);

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Я рекомендую использовать для этого act-native-vector-icons .

, но если вы хотите реализовать это самостоятельно, внесите эти изменения в функцию рендеринга

render() {
  return(
    <View>
      <View style={menuIcon.mainLine}></View>
      <View style={menuIcon.line2}></View>
      <View style={menuIcon.line3}></View>
    </View>
  ) 
}
0 голосов
/ 16 апреля 2019

обычно мы не пишем код гамбургера самим собой или другими значками кнопок.

Мы используем значки или изображения внутри представления и применяем onPress к самому представлению

с реагирующимиспользовать библиотеку реагировать-родной-векторных иконок.Руководство по основному использованию установки здесь

https://www.npmjs.com/package/react-native-vector-icons

...