Техніка, яку я використовую для того, щоб мати відсоток ширини батьківського, - це додавання додаткового пробілу в поєднанні з деяким flexbox. Це стосуватиметься не всіх сценаріїв, але може бути дуже корисним.
Отже, ми йдемо:
class PercentageWidth extends Component {
render() {
return (
<View style={styles.container}>
<View style={styles.percentageWidthView}>
{/* Some content */}
</View>
<View style={styles.spacer}
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flexDirection: 'row'
},
percentageWidthView: {
flex: 60
},
spacer: {
flex: 40
}
});
В основному властивість flex - це ширина щодо "загальної" гнучкості всіх елементів у контейнері flex. Отже, якщо всі предмети складають 100, у вас є відсоток. У цьому прикладі я міг використовувати значення гнучкості 6 і 4 для того самого результату, тому це ще більш гнучко.
Якщо ви хочете відцентрувати подання у відсотках, додайте два розпірки з половиною ширини. Отже, у прикладі це буде 2-6-2.
Звичайно, додавання додаткових переглядів - не найприємніша річ у світі, але в реальному додатку я можу уявити, що спейсер буде містити різний вміст.
react-native
використанняflex
для розмірів та розташування елементів. Я не впевнений, але можливо,flex-basis
це те, що вам потрібно: Перевірте це і це