私は React Native にまったく慣れていないので、非常に簡単なことをしようとしています:
次のコンポーネントを作成したい:
画像が左に配置され、テキストがTouchableに対して中央に配置されている TouchableHighlight 。
テキストにパディングやマージンを追加するなど、多くのオプションを試しましたが、ボタンが大きくなるだけで、最もクリーンなアプローチではないようです。
ここに私がこれまでに持っているものがあります:
class App extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<View style={styles.appContainer}>
<TouchableHighlight onPress={() => {}} style={styles.button}>
<View style={styles.btnContainer}>
<Image source={require('./assets/ic_logout.png')} style={styles.icon} />
<Text style={styles.btnText}>Log out</Text>
</View>
</TouchableHighlight>
</View>
)
}
}
const styles = StyleSheet.create({
appContainer: {
flex: 1,
backgroundColor: 'lightgreen',
alignItems: 'center',
justifyContent: 'center'
},
btnContainer: {
backgroundColor: '#1d2aba',
paddingHorizontal: 60,
paddingVertical: 10,
flexDirection: 'row',
alignItems: 'center',
borderRadius: 5
},
button: {
borderRadius: 5
},
icon: {
transform: [{ rotate: '180deg'}],
width: 25,
height: 25
},
btnText: {
textAlign: 'center',
fontWeight: 'bold',
fontSize: 16,
color: 'white'
}
});
export default App;
視覚的な目的のために: