ScrollView হল একটি স্ক্রলিং কন্টেইনার যা একাধিক উপাদান এবং ভিউ মিটমাট করতে পারে। এটি প্রতিক্রিয়াশীলতার মূল উপাদানগুলির মধ্যে একটি এবং এটি ব্যবহার করে আপনি উল্লম্ব এবং অনুভূমিকভাবে স্ক্রোল করতে পারেন৷
ScrollView এটি চলমান প্ল্যাটফর্মের উপর ভিত্তি করে তার নেটিভ সমতুল্য মানচিত্র করবে। তাই অ্যান্ড্রয়েডে ভিউটি
এই উদাহরণে স্ক্রোলভিউতে একটি পাঠ্য উপাদান সহ একটি ভিউ রয়েছে এবং এটি একটি ভিউয়ের মধ্যে মোড়ানো রয়েছে৷
ScrollView এর সাথে কাজ করতে প্রথমে কম্পোনেন্ট ইম্পোর্ট করুন −
স্ক্রোলভিউ-এর ভিতরে প্রদর্শিত ডেটা স্টেট অবজেক্টের নামের ভিতরে সংরক্ষিত হয় যেমন নীচে দেখানো হয়েছে −
ডেটা যেমন this.state.names একটি অ্যারে। ম্যাপ() পদ্ধতিটি অ্যারেতে ব্যবহার করা হয় এবং নামটি ভিউ->টেক্সট কম্পোনেন্টের ভিতরে প্রদর্শিত হয় যেমন নীচে দেখানো হয়েছে −
স্ক্রলভিউ স্ট্যাটিক ডেটার জন্য সবচেয়ে ভাল কাজ করে যা ছোট আকারের। কিন্তু আপনি যদি গতিশীল নিয়ে কাজ করতে চান যা ফ্ল্যাটলিস্ট উপাদান ব্যবহার করার জন্য একটি বিশাল তালিকা হতে পারে।
এখানে ScrollView এর জন্য সম্পূর্ণ কোড আছে।
ডিফল্টরূপে ScrollView ডাটা উল্লম্বভাবে প্রদর্শন করে। ডেটা অনুভূমিকভাবে প্রদর্শন করতে প্রপস ব্যবহার করুন
অনুভূমিক={সত্য} নীচে দেখানো হিসাবে −
উদাহরণ 1:ScrollView ব্যবহার করে উল্লম্ব স্ক্রোলিং
import { Text, View, StyleSheet, ScrollView} from 'react-native';
state = {
names: [
{'name': 'Ben', 'id': 1},
{'name': 'Susan', 'id': 2},
{'name': 'Robert', 'id': 3},
{'name': 'Mary', 'id': 4},
{'name': 'Daniel', 'id': 5},
{'name': 'Laura', 'id': 6},
{'name': 'John', 'id': 7},
{'name': 'Debra', 'id': 8},
{'name': 'Aron', 'id': 9},
{'name': 'Ann', 'id': 10},
{'name': 'Steve', 'id': 11},
{'name': 'Olivia', 'id': 12}
]
}
<ScrollView>
{this.state.names.map((item, index) => (<View key = {item.id} style = {styles.item}><Text>{item.name}</Text></View>))
}
</ScrollView>
import React, { Component } from "react";
import { Text, View, StyleSheet, ScrollView} from 'react-native';
class ScrollViewExample extends Component {
state = {
names: [
{'name': 'Ben', 'id': 1},
{'name': 'Susan', 'id': 2},
{'name': 'Robert', 'id': 3},
{'name': 'Mary', 'id': 4},
{'name': 'Daniel', 'id': 5},
{'name': 'Laura', 'id': 6},
{'name': 'John', 'id': 7},
{'name': 'Debra', 'id': 8},
{'name': 'Aron', 'id': 9},
{'name': 'Ann', 'id': 10},
{'name': 'Steve', 'id': 11},
{'name': 'Olivia', 'id': 12}
]
}
render(props) {
return (
<View style={{flex :1, justifyContent: 'center', margin: 15 }}>
<ScrollView>
{this.state.names.map((item, index) => (<View key = {item.id} style = {styles.item}><Text>{item.name}</Text></View>))
}
</ScrollView>
</View>
);
}
}
export default ScrollViewExample;
const styles = StyleSheet.create ({
item: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
padding: 30,
margin: 2,
borderColor: '#2a4944',
borderWidth: 1,
backgroundColor: '#d2f7f1'
}
})
আউটপুট
উদাহরণ 2:ScrollView ব্যবহার করে অনুভূমিকভাবে স্ক্রোল করা
<ScrollView horizontal={true}>
{this.state.names.map((item, index) => (<View key = {item.id} style = {styles.item}><Text>{item.name}</Text></View>))
}
</ScrollView>
import React, { Component } from "react";
import { Text, View, StyleSheet, ScrollView} from 'react-native';
class ScrollViewExample extends Component {
state = {
names: [
{'name': 'Ben', 'id': 1},
{'name': 'Susan', 'id': 2},
{'name': 'Robert', 'id': 3},
{'name': 'Mary', 'id': 4},
{'name': 'Daniel', 'id': 5},
{'name': 'Laura', 'id': 6},
{'name': 'John', 'id': 7},
{'name': 'Debra', 'id': 8},
{'name': 'Aron', 'id': 9},
{'name': 'Ann', 'id': 10},
{'name': 'Steve', 'id': 11},
{'name': 'Olivia', 'id': 12}
]
}
render(props) {
return (
<View style={{flex :1, justifyContent: 'center', marginTop: 100 }}>
<ScrollView horizontal={true}>
{this.state.names.map((item, index) => (<View key = {item.id} style = {styles.item}><Text>{item.name}</Text></View>))
}
</ScrollView>
</View>
);
}
}
export default ScrollViewExample;
const styles = StyleSheet.create ({
item: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
padding: 30,
margin: 2,
borderColor: '#2a4944',
borderWidth: 1,
height:100,
backgroundColor: '#d2f7f1'
}
})
আউটপুট