الفرق بين المراجعتين لصفحة: «ReactNative/toastandroid»
رقية-بورية (نقاش | مساهمات) أنشأ الصفحة ب'= ToastAndroid = تعرض الواجهة البرمجيّة (ToastAndroid API) في منصّة React Native وحدة ToastAndroid الخاصّة بمنصّات Android...' |
رقية-بورية (نقاش | مساهمات) ط مراجعة |
||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:ToastAndroid في React Native}}</noinclude> | |||
تعرض الواجهة البرمجيّة (ToastAndroid API) في React Native وحدة ToastAndroid الخاصّة بمنصّات Android على شكل وحدة جافا سكريبت JS، وتُقدِّم التّابع <code>(show(message, duration</code> K، الذي يأخذ المعاملات التّالية: | |||
ويمكن استخدام التابع <code>showWithGravity(message, duration, gravity)</code> لتحديد مكان ظهور الإشعار المصغًّر على الشاشة، عن طريق المعامل <code>gravity</code> | * <code>message</code>: الرّسالة التي ستعرض كإشعارٍ مصغَّرٍ (toast). | ||
* <code>duration</code>: المدّة الزّمنيّة لظهور الإشعار المصغَّر، ويأخذ إحدى القيمتين <code>ToastAndroid.SHORT</code>، أو <code>ToastAndroid.LONG</code> | |||
ويمكن استخدام التابع <code>showWithGravity(message, duration, gravity)</code> لتحديد مكان ظهور الإشعار المصغًّر على الشاشة، عن طريق المعامل <code>gravity</code>، الذي يأخذ إحدى القيم التالية: | |||
* <code>ToastAndroid.TOP</code>: إظهار الإشعار المصغَّر أعلى الشّاشة. | * <code>ToastAndroid.TOP</code>: إظهار الإشعار المصغَّر أعلى الشّاشة. | ||
| سطر 66: | سطر 67: | ||
export default App; | export default App; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
__TOC__ | |||
== اختراق البرمجة الأمريّة (Imperative) == | |||
تصنَّف الواجهة البرمجية ToastAndroid على أنها واجهةٌ برمجيّةٌ أمرية، غير | تصنَّف الواجهة البرمجية ToastAndroid على أنها واجهةٌ برمجيّةٌ أمرية، غير أنّه توجد طريقة لإظهار (expose) المكونات التّصريحية (declarative)، منها كما هو موضح في المثال التالي:<syntaxhighlight lang="javascript"> | ||
import React, { useState, useEffect } from "react"; | import React, { useState, useEffect } from "react"; | ||
import { View, StyleSheet, ToastAndroid, Button } from "react-native"; | import { View, StyleSheet, ToastAndroid, Button } from "react-native"; | ||
| سطر 137: | سطر 138: | ||
=== <code>SHORT</code> === | === <code>SHORT</code> === | ||
تدلّ على مدة بقاء الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | تدلّ هذه الخاصية على مدة بقاء الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.SHORT; | ToastAndroid.SHORT; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <code>LONG</code> === | === <code>LONG</code> === | ||
تدلّ على مدة بقاء الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | تدلّ هذه الخاصية على مدة بقاء الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.LONG; | ToastAndroid.LONG; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <code>TOP</code> === | === <code>TOP</code> === | ||
تدلّ على مكان توضُّع الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | تدلّ الخاصية <code>TOP</code>على مكان توضُّع الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.TOP; | ToastAndroid.TOP; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <code>BOTTOM</code> === | === <code>BOTTOM</code> === | ||
تدلّ على مكان توضُّع الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | تدلّ الخاصية <code>BOTTOM</code> على مكان توضُّع الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.BOTTOM; | ToastAndroid.BOTTOM; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <code>CENTER</code> === | === <code>CENTER</code> === | ||
تدلّ على مكان توضُّع الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | تدلّ <code>CENTER</code> على مكان توضُّع الإشعار المصغَّر على الشاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.CENTER; | ToastAndroid.CENTER; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| سطر 164: | سطر 165: | ||
* [https://facebook.github.io/react-native/docs/toastandroid صفحة ToastAndroid في توثيق React Native الرسميّ] | * [https://facebook.github.io/react-native/docs/toastandroid صفحة ToastAndroid في توثيق React Native الرسميّ] | ||
[[تصنيف:ReactNative]] | |||
مراجعة 07:18، 7 يناير 2021
تعرض الواجهة البرمجيّة (ToastAndroid API) في React Native وحدة ToastAndroid الخاصّة بمنصّات Android على شكل وحدة جافا سكريبت JS، وتُقدِّم التّابع (show(message, duration K، الذي يأخذ المعاملات التّالية:
message: الرّسالة التي ستعرض كإشعارٍ مصغَّرٍ (toast).duration: المدّة الزّمنيّة لظهور الإشعار المصغَّر، ويأخذ إحدى القيمتينToastAndroid.SHORT، أوToastAndroid.LONG
ويمكن استخدام التابع showWithGravity(message, duration, gravity) لتحديد مكان ظهور الإشعار المصغًّر على الشاشة، عن طريق المعامل gravity، الذي يأخذ إحدى القيم التالية:
ToastAndroid.TOP: إظهار الإشعار المصغَّر أعلى الشّاشة.ToastAndroid.BOTTOM: إظهار الإشعار المصغَّر أسفل الشّاشة.ToastAndroid.CENTER: إظهار الإشعار المصغَّر منتصف الشّاشة.
يُضيف التّابع showWithGravityAndOffset(message, duration, gravity, xOffset, yOffset) إمكانيّة تحديد الإزاحة بالبكسل.
import React from "react";
import { View, StyleSheet, ToastAndroid, Button } from "react-native";
import Constants from "expo-constants";
const App = () => {
const showToast = () => {
ToastAndroid.show("A pikachu appeared nearby !", ToastAndroid.SHORT);
};
const showToastWithGravity = () => {
ToastAndroid.showWithGravity(
"All Your Base Are Belong To Us",
ToastAndroid.SHORT,
ToastAndroid.CENTER
);
};
const showToastWithGravityAndOffset = () => {
ToastAndroid.showWithGravityAndOffset(
"A wild toast appeared!",
ToastAndroid.LONG,
ToastAndroid.BOTTOM,
25,
50
);
};
return (
<View style={styles.container}>
<Button title="Toggle Toast" onPress={() => showToast()} />
<Button
title="Toggle Toast With Gravity"
onPress={() => showToastWithGravity()}
/>
<Button
title="Toggle Toast With Gravity & Offset"
onPress={() => showToastWithGravityAndOffset()}
/>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: "center",
paddingTop: Constants.statusBarHeight,
backgroundColor: "#888888",
padding: 8
}
});
export default App;
اختراق البرمجة الأمريّة (Imperative)
تصنَّف الواجهة البرمجية ToastAndroid على أنها واجهةٌ برمجيّةٌ أمرية، غير أنّه توجد طريقة لإظهار (expose) المكونات التّصريحية (declarative)، منها كما هو موضح في المثال التالي:
import React, { useState, useEffect } from "react";
import { View, StyleSheet, ToastAndroid, Button } from "react-native";
import Constants from "expo-constants";
const Toast = ({ visible, message }) => {
if (visible) {
ToastAndroid.showWithGravityAndOffset(
message,
ToastAndroid.LONG,
ToastAndroid.BOTTOM,
25,
50
);
return null;
}
return null;
};
const App = () => {
const [visibleToast, setvisibleToast] = useState(false);
useEffect(() => setvisibleToast(false), [visibleToast]);
const handleButtonPress = () => {
setvisibleToast(true);
};
return (
<View style={styles.container}>
<Toast visible={visibleToast} message="Example" />
<Button title="Toggle Toast" onPress={() => handleButtonPress()} />
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: "center",
paddingTop: Constants.statusBarHeight,
backgroundColor: "#888888",
padding: 8
}
});
export default App;
التوابع
show()
static show(message, duration)
showWithGravity()
static showWithGravity(message, duration, gravity)
showWithGravityAndOffset()
static showWithGravityAndOffset(message, duration, gravity, xOffset, yOffset)
الخاصيّات
SHORT
تدلّ هذه الخاصية على مدة بقاء الإشعار المصغَّر على الشاشة.
ToastAndroid.SHORT;
LONG
تدلّ هذه الخاصية على مدة بقاء الإشعار المصغَّر على الشاشة.
ToastAndroid.LONG;
TOP
تدلّ الخاصية TOPعلى مكان توضُّع الإشعار المصغَّر على الشاشة.
ToastAndroid.TOP;
BOTTOM
تدلّ الخاصية BOTTOM على مكان توضُّع الإشعار المصغَّر على الشاشة.
ToastAndroid.BOTTOM;
CENTER
تدلّ CENTER على مكان توضُّع الإشعار المصغَّر على الشاشة.
ToastAndroid.CENTER;