الفرق بين المراجعتين لصفحة: «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;