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 khung nhìn thêm đệm 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 trường hợp nhưng nó có thể rất hữu ích.
Vì vậy, chúng ta bắt đầu:
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 thuộc tính flex là chiều rộng liên quan đến "tổng" flex của tất cả các mục trong vùng chứa flex. Vì vậy, nếu tất cả các mục tổng bằng 100, bạn có một tỷ lệ phần trăm. Trong ví dụ, tôi có thể đã sử dụng giá trị flex 6 & 4 cho cùng một kết quả, vì vậy nó thậm chí còn FLEXible hơn.
Nếu bạn muốn căn giữa chế độ xem theo phần trăm chiều rộng: thêm hai dấu cách 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 các khung nhìn bổ sung không phải là điều đẹp nhất trên thế giới, nhưng trong một ứng dụng thế giới thực, tôi có thể hình dung khoảng đệm sẽ chứa nội dung khác nhau.
react-native
sử dụngflex
cho kích thước và vị trí của các phần tử. Tôi không chắc chắn nhưng có thểflex-basis
là những gì bạn cần: Kiểm tra này và này