หากคุณต้องการให้อินพุตสัมพันธ์กับความกว้างของหน้าจอวิธีง่ายๆคือใช้ Dimensions:
var React = require('react-native');
var {
...
Dimensions
} = React;
var width = Dimensions.get('window').width;
<TextInput style={{ width: width * .8 }} />
ฉันได้ตั้งค่าโครงการทำงานที่นี่ โค้ดอยู่ด้านล่างด้วย
https://rnplay.org/apps/rqQPCQ
'use strict';
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
View,
TextInput,
Dimensions
} = React;
var width = Dimensions.get('window').width;
var SampleApp = React.createClass({
render: function() {
return (
<View style={styles.container}>
<Text style={{fontSize:22}}>Percentage Width In React Native</Text>
<View style={{marginTop:100, flexDirection: 'row',justifyContent: 'center'}}>
<TextInput style={{backgroundColor: '#dddddd', height: 60, width: width*.8 }} />
</View>
</View>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
marginTop:100
},
});
AppRegistry.registerComponent('SampleApp', () => SampleApp);
react-native
ใช้flex
สำหรับขนาดและตำแหน่งขององค์ประกอบ ผมไม่แน่ใจ แต่อาจจะflex-basis
เป็นสิ่งที่คุณต้องการ: การตรวจสอบนี้และนี้