الفرق بين المراجعتين لصفحة: «ReactNative/using a scrollview»
Basema-bakleh (نقاش | مساهمات) ←استخدام المكوّن ScrollView: اعتمدنا ترجمة عرض التمرير سابقا للمكون |
|||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:استخدام المكوّن ScrollView في React Native}}</noinclude> | <noinclude>{{DISPLAYTITLE:استخدام المكوّن ScrollView في React Native}}</noinclude> | ||
==استخدام المكوّن ScrollView== | ==استخدام المكوّن ScrollView== | ||
<code>[[ReactNative/scrollview|ScrollView]]</code> حاويةُ تمريرٍ (scrolling container) تحوي عدّة مكوناتٍ | عرض التمرير<code>[[ReactNative/scrollview|ScrollView]]</code> حاويةُ تمريرٍ (scrolling container) تحوي عدّة مكوناتٍ وواجهات ([[ReactNative/view|views]]). ليس من الضروري أن تكون العناصر متجانسة، ويمكن أن يكون التمرير عموديًا وأفقيًا في الوقت نفسه (عن طريق تعيين الخاصية <code>horizontal</code>). | ||
يُنشئ هذا المثال | يُنشئ هذا المثال مكون <code>ScrollView</code> عموديًّا بصورٍ ونصوصٍ مختلطةٍ مع بعضها البعض. | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
import React | import React from 'react'; | ||
import { | import { Image, ScrollView, Text } from 'react-native'; | ||
const logo = { | |||
uri: 'https://reactnative.dev/img/tiny_logo.png', | |||
width: 64, | |||
height: 64 | |||
}; | |||
const App = () => ( | |||
<ScrollView> | |||
<Text style={{ fontSize: 96 }}>Scroll me plz</Text> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Text style={{ fontSize: 96 }}>If you like</Text> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Text style={{ fontSize: 96 }}>Scrolling down</Text> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Text style={{ fontSize: 96 }}>What's the best</Text> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Text style={{ fontSize: 96 }}>Framework around?</Text> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Image source={logo} /> | |||
<Text style={{ fontSize: 80 }}>React Native</Text> | |||
</ScrollView> | |||
); | |||
export default App; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
يمكن ضبط عروضِ | يمكن ضبط عروضِ التمرير ScrollView للسماح بالانتقال عبر الواجهات بإيماءات السحب (swiping gestures) باستخدام الخاصيّة <code>pagingEnabled</code>، كما يمكن الحصول على إمكانيّة التمرير الأفقيّ بين الواجهات على Android باستخدام المكوّن <code>ViewPager</code>. | ||
يمكن استخدامُ مكوّن <code>ScrollView</code> مع عنصر واحد للسماح للمستخدم بتكبير | يمكن في منصة iOS استخدامُ مكوّن عرض التمرير <code>ScrollView</code> مع عنصر واحد للسماح للمستخدم بتكبير المحتوى، كل ما عليك فعله هو ضبط الحد الأقصى لمقياس التكبير بالخاصيّة <code>maximumZoomScale</code> والحد الأدنى له بالخاصيّة <code>minimumZoomScale</code> وسيتمكن مستخدم التطبيق من التكبير والتصغير عبر إيماءتي التوسعة (expand) والضغط (pinch). | ||
المكوّن <code>ScrollView</code> فعّالٌ لعرض بيانات قليلة ذات حجم محدود. إذ تُصيَّر جميع العناصر | المكوّن <code>ScrollView</code> فعّالٌ لعرض بيانات قليلة ذات حجم محدود. إذ تُصيَّر جميع العناصر والواجهات الموجودة داخله حتى لو لم تكن ظاهرة حاليًا على الشاشة، ويجب عليك استخدام المكوّن <code>[[ReactNative/flatlist|FlatList]]</code> بدلاً منه إن كنت ترغب بعرض قائمةٍ طويلةٍ من العناصر تتخطّى ما يمكن احتواؤه على الشاشة. لذا لنتعرف على طرق [[ReactNative/using a listview|عرض القوائم]] بفعاليّة وأداء أفضل. | ||
== مصادر == | == مصادر == | ||
* [https://facebook.github.io/react-native/docs/using-a-scrollview صفحة Using a ScrollView في توثيق React Native الرسمي.] | * [https://facebook.github.io/react-native/docs/using-a-scrollview صفحة Using a ScrollView في توثيق React Native الرسمي.] | ||
[[تصنيف:ReactNative]] | [[تصنيف:ReactNative]] |
مراجعة 21:47، 9 مارس 2021
استخدام المكوّن ScrollView
عرض التمريرScrollView
حاويةُ تمريرٍ (scrolling container) تحوي عدّة مكوناتٍ وواجهات (views). ليس من الضروري أن تكون العناصر متجانسة، ويمكن أن يكون التمرير عموديًا وأفقيًا في الوقت نفسه (عن طريق تعيين الخاصية horizontal
).
يُنشئ هذا المثال مكون ScrollView
عموديًّا بصورٍ ونصوصٍ مختلطةٍ مع بعضها البعض.
import React from 'react';
import { Image, ScrollView, Text } from 'react-native';
const logo = {
uri: 'https://reactnative.dev/img/tiny_logo.png',
width: 64,
height: 64
};
const App = () => (
<ScrollView>
<Text style={{ fontSize: 96 }}>Scroll me plz</Text>
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Text style={{ fontSize: 96 }}>If you like</Text>
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Text style={{ fontSize: 96 }}>Scrolling down</Text>
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Text style={{ fontSize: 96 }}>What's the best</Text>
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Text style={{ fontSize: 96 }}>Framework around?</Text>
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Image source={logo} />
<Text style={{ fontSize: 80 }}>React Native</Text>
</ScrollView>
);
export default App;
يمكن ضبط عروضِ التمرير ScrollView للسماح بالانتقال عبر الواجهات بإيماءات السحب (swiping gestures) باستخدام الخاصيّة pagingEnabled
، كما يمكن الحصول على إمكانيّة التمرير الأفقيّ بين الواجهات على Android باستخدام المكوّن ViewPager
.
يمكن في منصة iOS استخدامُ مكوّن عرض التمرير ScrollView
مع عنصر واحد للسماح للمستخدم بتكبير المحتوى، كل ما عليك فعله هو ضبط الحد الأقصى لمقياس التكبير بالخاصيّة maximumZoomScale
والحد الأدنى له بالخاصيّة minimumZoomScale
وسيتمكن مستخدم التطبيق من التكبير والتصغير عبر إيماءتي التوسعة (expand) والضغط (pinch).
المكوّن ScrollView
فعّالٌ لعرض بيانات قليلة ذات حجم محدود. إذ تُصيَّر جميع العناصر والواجهات الموجودة داخله حتى لو لم تكن ظاهرة حاليًا على الشاشة، ويجب عليك استخدام المكوّن FlatList
بدلاً منه إن كنت ترغب بعرض قائمةٍ طويلةٍ من العناصر تتخطّى ما يمكن احتواؤه على الشاشة. لذا لنتعرف على طرق عرض القوائم بفعاليّة وأداء أفضل.