الفرق بين المراجعتين لصفحة: «ReactNative/toastandroid»
رقية-بورية (نقاش | مساهمات) لا ملخص تعديل |
رقية-بورية (نقاش | مساهمات) ط مراجعة |
||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:ToastAndroid في React Native}}</noinclude> | <noinclude>{{DISPLAYTITLE:ToastAndroid في React Native}}</noinclude> | ||
تعرض الواجهة البرمجيّة (ToastAndroid API) في React Native وحدة ToastAndroid الخاصّة بمنصّات Android على شكل وحدة جافا سكريبت JS، وتُقدِّم التّابع <code>(show(message, duration</code> | تعرض الواجهة البرمجيّة (ToastAndroid API) في [[ReactNative|React Native]] وحدة ToastAndroid الخاصّة بمنصّات Android على شكل وحدة جافا سكريبت JS، وتُقدِّم التّابع <code>(show(message, duration</code> ، الذي يأخذ المعاملات التّالية: | ||
* <code>message</code>: الرّسالة التي ستعرض كإشعارٍ مصغَّرٍ (toast). | * <code>message</code>: الرّسالة التي ستعرض كإشعارٍ مصغَّرٍ (toast). | ||
* <code>duration</code>: المدّة الزّمنيّة لظهور الإشعار المصغَّر، ويأخذ إحدى القيمتين <code>ToastAndroid.SHORT</code>، أو <code>ToastAndroid.LONG</code> | * <code>duration</code>: المدّة الزّمنيّة لظهور الإشعار المصغَّر، ويأخذ إحدى القيمتين <code>ToastAndroid.SHORT</code>، أو <code>ToastAndroid.LONG</code> | ||
ويمكن استخدام التابع <code>showWithGravity(message, duration, gravity | ويمكن استخدام التابع <code>(showWithGravity(message, duration, gravity</code> لتحديد مكان ظهور الإشعار المصغًّر على الشاشة، عن طريق المعامل <code>gravity</code>، الذي يأخذ إحدى القيم التالية: | ||
* <code>ToastAndroid.TOP</code>: إظهار الإشعار المصغَّر أعلى الشّاشة. | * <code>ToastAndroid.TOP</code>: إظهار الإشعار المصغَّر أعلى الشّاشة. | ||
| سطر 68: | سطر 68: | ||
__TOC__ | __TOC__ | ||
== اختراق البرمجة الأمريّة (Imperative) == | == اختراق البرمجة الأمريّة (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: | سطر 137: | ||
=== <code>SHORT</code> === | === <code>SHORT</code> === | ||
تدلّ هذه | تدلّ هذه الخاصّية على مدّة بقاء الإشعار المصغَّر على الشّاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.SHORT; | ToastAndroid.SHORT; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <code>LONG</code> === | === <code>LONG</code> === | ||
تدلّ هذه | تدلّ هذه الخاصّية على مدّة بقاء الإشعار المصغَّر على الشّاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.LONG; | ToastAndroid.LONG; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <code>TOP</code> === | === <code>TOP</code> === | ||
تدلّ الخاصية <code>TOP</code>على مكان توضُّع الإشعار المصغَّر على | تدلّ الخاصية <code>TOP</code>على مكان توضُّع الإشعار المصغَّر على الشّاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.TOP; | ToastAndroid.TOP; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <code>BOTTOM</code> === | === <code>BOTTOM</code> === | ||
تدلّ الخاصية <code>BOTTOM</code> على مكان توضُّع الإشعار المصغَّر على | تدلّ الخاصية <code>BOTTOM</code> على مكان توضُّع الإشعار المصغَّر على الشّاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.BOTTOM; | ToastAndroid.BOTTOM; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== <code>CENTER</code> === | === <code>CENTER</code> === | ||
تدلّ <code>CENTER</code> على مكان توضُّع الإشعار المصغَّر على | تدلّ <code>CENTER</code> على مكان توضُّع الإشعار المصغَّر على الشّاشة.<syntaxhighlight lang="javascript"> | ||
ToastAndroid.CENTER; | ToastAndroid.CENTER; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
مراجعة 14:31، 22 يناير 2021
تعرض الواجهة البرمجيّة (ToastAndroid API) في React Native وحدة ToastAndroid الخاصّة بمنصّات Android على شكل وحدة جافا سكريبت JS، وتُقدِّم التّابع (show(message, duration ، الذي يأخذ المعاملات التّالية:
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;