#css #iphone #react-native #frontend #hamburger-menu
#css #iPhone #react-native #интерфейс #гамбургер-меню
Вопрос:
Мои гамбургеры не выравниваются на экране
Я посещал разные методы стиля, такие как 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);
Ответ №1:
для этого я рекомендую использовать react-native-vector-icons.
но если вы хотите реализовать это самостоятельно, внесите эти изменения в свою функцию рендеринга
render() {
return(
<View>
<View style={menuIcon.mainLine}></View>
<View style={menuIcon.line2}></View>
<View style={menuIcon.line3}></View>
</View>
)
}
Ответ №2:
обычно мы не пишем код гамбургера самостоятельно .. или любые другие значки кнопок.
Мы используем значки или изображения внутри view и применяем onPress к самому view
с react-native мы используем библиотеку react-native-vector-icons. Основное руководство по установке и использованию здесь
Комментарии:
1. Да, я это знаю, но в данном случае я разработал иконки, поэтому я хотел бы знать, как рисовать и позиционировать их непосредственно после экспорта моих файлов CSS-дизайна
2. сначала оберните все три строки в единый вид с помощью width и height и flexDirection = cloumn .. затем… внутри этого напишите свои line1,2,3 и правильно выровняйте их.
3. и то, что вы делаете, это … построение flex1 затем внутри flex1.. построение flex2 .. затем внутри flex2 .. построение flex 3
4. итак, создайте контейнер с помощью .. высота и ширина … затем внутри контейнера вы можете нарисовать все три строки… и используйте доступное пространство с помощью flex1.. с некоторой высотой