"علامات التبويب المخصصة" هي خيار رائع لإنشاء تجربة مخصصة للمتصفح مباشرةً داخل تطبيقك، إلا أنها ليست شيئًا واحدًا. إنّ "علامات التبويب المخصّصة" مصمَّمة فوق نظام Intent، وهي مجموعة من طلبات الخيارات القابلة للضبط التي يتم إرسالها إلى المتصفّح المفضَّل لدى المستخدم النهائي. ويعتمد تنفيذ الخيارات المختلفة على كل متصفح. يمكن أن يتفاوت مدى توفُّر ميزات "علامات التبويب المخصَّصة" بين متصفِّحات Android بسبب الاختلافات في التنفيذ.
في ما يلي مقارنة بين بعض المتصفّحات في منظومة Android المتكاملة. تتمتع الغالبية العظمى من المتصفحات على Android بمستوى معيّن من الدعم. وليس من المفترض أن تكون الجداول شاملة، ولكنها توضّح مستوى الدعم الذي من المرجَّح أن تحصل عليه. يجب البحث في المتصفحات الافتراضية للأشخاص الذين يستخدمون تطبيقك، والتأكد من أنك تستخدم الترميز بشكل دفاعي.
CustomTabsIntent.Builder
ينشئ CustomTabsIntent.Builder
علامات تبويب مخصَّصة. لديك عدد من الطرق لضبط علامة التبويب المخصَّصة للمساعدة في اندماجها بسلاسة قدر الإمكان مع تطبيقك عبر مجموعة من الطرق المضمَّنة، والتي نذكرها أدناه.
addDefaultShareMenuItem()
تضيف الدالة addDefaultShareMenuItem() زر مشاركة تلقائي إلى شريط أدوات "علامات التبويب المخصصة"، ما يسمح للمستخدم بمشاركة صفحة الويب الحالية عبر تطبيقات متنوعة على جهازه.
addMenuItem()
لإضافة عنصر في القائمة.
addToolbarItem()
لإضافة زر إجراء إلى علامة التبويب "التخصيص". يمكن إضافة أزرار متعددة بهذه الطريقة.
enableUrlBarHiding()
تعمل هذه السياسة على تفعيل إخفاء شريط عناوين URL أثناء انتقال المستخدم للأسفل في الصفحة.
setActionButton()
لضبط زر الإجراء المعروض في شريط الأدوات بسلوك التلوين التلقائي.
setCloseButtonIcon()
لتعيين زر الإغلاق المخصص الذي يظهر في شريط الأدوات.
setCloseButtonPosition()
لتعيين رمز زر الإغلاق لعلامة التبويب المخصصة.
setColorScheme()
تحدِّد هذه السياسة نظام الألوان الذي يجب تطبيقه على واجهة المستخدم في علامة التبويب "مخصّصة".
setColorSchemeParams()
تحدِّد هذه السياسة نظام الألوان الذي يجب تطبيقه على واجهة المستخدم في علامة التبويب "مخصّصة".
setDefaultColorSchemeParams()
لضبط CustomTabColorSchemeParams()
لنظام الألوان المحدّد. يسمح هذا بتحديد لونين مختلفين في شريط الأدوات للمخططات الفاتحة والداكنة.
setDefaultShareMenuItemEnabled()
يمكنك ضبط ما إذا كان ستتم إضافة عنصر مشاركة تلقائي إلى القائمة.
setExitAnimations()
لضبط أي رسوم متحركة للخروج.
setFirstActivityHeightPx()
لضبط الارتفاع الأولي لنشاط علامة التبويب المخصصة بالبكسل مع السلوك الافتراضي لتغيير الحجم. ستعمل علامة التبويب المخصصة كبطاقة سفلية. غالبًا ما يشار إلى هذه باسم علامة تبويب مخصصة جزئية.
setNavigationBarColor()
لضبط لون شريط التنقّل. ليس له أي تأثير على إصدارات واجهة برمجة التطبيقات التي تسبق L.
setNavigationBarDividerColor()
setSecondaryToolbarColor()
لتعيين لون شريط الأدوات الثانوي.
setShareState()
لضبط حالة المشاركة التي يجب تطبيقها على علامة التبويب المخصصة.
setShowTitle()
تحدِّد هذه السياسة ما إذا كان يجب عرض العنوان في علامة التبويب المخصَّصة.
setStartAnimations()
لضبط الصور المتحركة للبدء.
setToolbarColor()
لضبط لون شريط الأدوات. في نظام Android L والإصدارات الأحدث، يتم تطبيق هذا اللون أيضًا على شريط الحالة.
setToolbarCornerRadiusDp()
لضبط نصف قطر الزاوية العلوية لشريط الأدوات بتنسيق dp.
setUrlBarHidingEnabled()
يمكنك ضبط ما إذا كان يجب إخفاء شريط عنوان URL أثناء انتقال المستخدم للأسفل في الصفحة.
CustomTabsClient
CustomTabsClient
هو صف اختياري للتواصل مع CustomTabsService
وإنشاء CustomTabsSession
منه.
الإحماء()
حسّن عملية المتصفح.
CustomTabsSession
CustomTabsSession
هو صف اختياري يمكنك تقديمه لمثيل CustomTabsIntent.Builder()
. وعند استخدام هذه الميزة، يمكنك استخدام هذه الفئة للتعامل مع أي اتصال من خلال علامة التبويب "مخصّصة".
setEngagementSignalsCallback()
لضبط EngagementSignalsCallback
لتلقّي استدعاءات للأحداث المرتبطة بتفاعل المستخدِم مع صفحة الويب في علامة التبويب.
isEngagementSignalsApiAvailable()
تعرض ما إذا كانت واجهة برمجة التطبيقات Engagement Signals متاحة. قد يتغيّر مدى توفُّر واجهة برمجة التطبيقات Engagement Signals API في وقت التشغيل.
قدLaunchUrl()
يخبر هذا المستخدم المتصفِّح بعملية تنقّل محتملة في المستقبل إلى عنوان URL. يجب تحديد عنوان URL المرجّح أولاً. بشكل اختياري، يمكن تقديم قائمة بعناوين URL الأخرى المحتملة. يتم التعامل معها على أنها أقل احتمالاً من الأولى، ويجب ترتيبها بترتيب تنازلي حسب الأولوية. وقد يتم تجاهل عناوين URL الإضافية هذه. وستُعطى الأولوية لجميع الطلبات السابقة التي يتم إجراؤها باستخدام هذه الطريقة.