মূলত আপনি যদি আকার সেট করতে চান এবং এটিকে পরিবর্তন করতে চান তবে এ জাতীয় লেআউটে এটি লিখুন:
import React, { Component } from 'react';
import { AppRegistry, StyleSheet, View } from 'react-native';
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: 'yellow',
},
View1: {
flex: 2,
margin: 10,
backgroundColor: 'red',
elevation: 1,
},
View2: {
position: 'absolute',
backgroundColor: 'orange',
zIndex: 3,
elevation: 3,
},
View3: {
flex: 3,
backgroundColor: 'green',
elevation: 2,
},
Text: {
fontSize: 25,
margin: 20,
color: 'white',
},
});
class Example extends Component {
constructor(props) {
super(props);
this.state = {
view2LayoutProps: {
left: 0,
top: 0,
width: 50,
height: 50,
}
};
}
onLayout(event) {
const {x, y, height, width} = event.nativeEvent.layout;
const newHeight = this.state.view2LayoutProps.height + 1;
const newLayout = {
height: newHeight ,
width: width,
left: x,
top: y,
};
this.setState({ view2LayoutProps: newLayout });
}
render() {
return (
<View style={styles.container}>
<View style={styles.View1}>
<Text>{this.state.view2LayoutProps.height}</Text>
</View>
<View onLayout={(event) => this.onLayout(event)}
style={[styles.View2, this.state.view2LayoutProps]} />
<View style={styles.View3} />
</View>
);
}
}
AppRegistry.registerComponent(Example);
আপনি কীভাবে এটি পরিবর্তন করতে হবে তার আরও অনেক প্রকরণ তৈরি করতে পারেন, এটি অন্য উপাদানটিতে ব্যবহার করে যা মোড়ক হিসাবে অন্য দৃষ্টিভঙ্গি রয়েছে এবং একটি অন রেসপন্ডাররেইলজ কলব্যাক তৈরি করতে পারে, যা স্পর্শ ইভেন্টের অবস্থানটি রাজ্যে প্রবেশ করতে পারে, যা পরে সন্তানের অংশে যেতে পারে could সম্পত্তি হিসাবে, যা স্থাপন {[styles.View2, this.state.view2LayoutProps, this.props.touchEventTopLeft]}
এবং আরও কিছু নিয়ে লেআউট আপডেট হওয়া অবস্থায় ওভাররাইড করতে পারে ।