Kỹ thuật tôi sử dụng để có chiều rộng phần trăm của phụ huynh là thêm một spa phụ xem cer kết hợp với một số flexbox. Điều này sẽ không áp dụng cho tất cả các kịch bản nhưng nó có thể rất hữu ích.
Vì vậy, ở đây chúng tôi đi:
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
}
});
Về cơ bản tài sản flex là tương đối rộng với "tổng" flex của tất cả các mặt hàng trong container flex. Vì vậy, nếu tất cả các mục tổng hợp đến 100 bạn có một tỷ lệ phần trăm. Trong ví dụ tôi có thể đã sử dụng các giá trị flex 6 & 4 cho cùng một kết quả, vì vậy nó thậm chí còn linh hoạt hơn.
Nếu bạn muốn căn giữa chế độ xem chiều rộng phần trăm: thêm hai miếng đệm với một nửa chiều rộng. Vì vậy, trong ví dụ, nó sẽ là 2-6-2.
Tất nhiên việc thêm lượt xem bổ sung không phải là điều đẹp nhất trên thế giới, nhưng trong ứng dụng thế giới thực, tôi có thể hình ảnh miếng đệm sẽ chứa nội dung khác nhau.
'phản ứng-native' sử dụng' flex' Đối với kích thước và vị trí các yếu tố. Tôi không chắc chắn nhưng có thể là "cơ sở flex" là những gì bạn cần: Kiểm tra [this] (https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis) và [this] (https://css-tricks.com/snippets/css/a-guide-to-flexbox/) – alix
Và theo [vấn đề này] (https://github.com/facebook/react-native/issues/364) một cái gì đó như 'flex: 0.8' có thể làm công việc. – alix