Я искал все выше и ниже, чтобы попытаться найти ответ на эту проблему, которая у меня возникла. По сути, у меня есть прокрутка с множеством пунктов, которые являются флажками. Я хочу, чтобы внизу было несколько кнопок типа «выбрать все» и «выбрать нет». Я хочу, чтобы кнопки одинаково занимали доступное пространство (например, растягивались, чтобы не было зазоров). Я безуспешно пробовал множество различных комбинаций стилей для кнопок и контейнеров.
У меня есть рабочий пример, но я также выложу код для удобства. Любая помощь или направление будет принята с благодарностью.
Редактировать: Как и предполагалось, я посмотрел на ButtonGroup
из react-native-elements
, но мне не понравилось, как кнопки оставались выделенными. Кроме того, я чувствую, что это распространенная проблема, которую мне еще предстоит найти с помощью flexbox в реагировать на нативную.

https://snack.expo.io/BJNEmvMvQ
import React, { Component } from 'react';
import { View, Text, ScrollView } from 'react-native';
import { CheckBox, ListItem, Button } from 'react-native-elements';
export default class App extends Component {
list = [ list of objects to render checkboxes (see snack for example ];
renderItem = (item, i) => {
return (
<View key={i}>
<CheckBox
title={item.Description}
checkedIcon="check"
uncheckedIcon="times"
/>
</View>
)
}
render() {
return (
<View style={{ flex: 1 }}>
<ScrollView>{this.list.map(this.renderItem)}</ScrollView>
<View style={{ flexDirection: 'row',
justifyContent: 'center' }}>
// have tried in the view style above: flexGrow, alignItems, and others
<Button
title="hello"
containerViewStyle={{ borderWidth: 2,
borderColor: 'black'}}
// have tried using flexGrow, alignSelf
// have also tried using 'buttonStyle' here instead of 'containerViewStyle'
/>
<Button
title="hello"
containerViewStyle={{ borderWidth: 2,
borderColor: 'black' }}
/>
<Button
title="hello"
containerViewStyle={{ borderWidth: 2,
borderColor: 'black' }}
/>
<Button
title="hello"
containerViewStyle={{ borderWidth: 2,
borderColor: 'black' }}
/>
</View>
</View>
);
}
}