تب های سفارشی گزینه ای عالی برای ایجاد یک تجربه مرورگر سفارشی شده مستقیماً در برنامه شما هستند، اما چیز منحصر به فردی نیستند. برگههای سفارشی که در بالای سیستم Intent ساخته شدهاند، مجموعهای از درخواستهای گزینه قابل تنظیم هستند که به مرورگر مورد نظر کاربر نهایی ارسال میشوند. اجرای گزینه های مختلف به عهده هر مرورگر است. در دسترس بودن ویژگیهای Custom Tabs میتواند بین مرورگرهای Android به دلیل تفاوتهای پیادهسازی متفاوت باشد.
آنچه در زیر می آید مقایسه برخی از مرورگرها در اکوسیستم اندروید است. اکثریت قریب به اتفاق مرورگرهای اندروید دارای سطحی از پشتیبانی هستند. قرار نیست جداول جامع باشد، بلکه نشان دهنده سطح حمایتی است که احتمالاً می بینید. باید در مورد مرورگرهای پیش فرض افرادی که از برنامه شما استفاده می کنند تحقیق کنید و مطمئن شوید که به صورت تدافعی کدنویسی می کنید.
CustomTabsIntent.Builder
CustomTabsIntent.Builder
برگه های سفارشی ایجاد می کند. شما چندین راه برای پیکربندی برگه سفارشی خود دارید تا از طریق مجموعه ای از متدهای داخلی که در زیر فهرست شده اند، به بهترین شکل ممکن با برنامه شما ترکیب شود.
addDefaultShareMenuItem()
addDefaultShareMenuItem() یک دکمه اشتراکگذاری پیشفرض را به نوار ابزار Custom Tabs اضافه میکند و به کاربر اجازه میدهد صفحه وب فعلی را از طریق برنامههای مختلف دستگاه خود به اشتراک بگذارد.
addMenuItem()
یک آیتم منو اضافه می کند.
addToolbarItem()
یک دکمه عمل به برگه سفارشی اضافه می کند. از طریق این روش می توان چندین دکمه اضافه کرد.
enableUrlBarHiding()
نوار url را فعال میکند تا وقتی کاربر در صفحه به پایین حرکت میکند، پنهان شود.
setActionButton()
دکمه عملی را که در نوار ابزار نمایش داده می شود را با رفتار رنگ آمیزی پیش فرض تنظیم می کند.
setCloseButtonIcon()
دکمه بستن سفارشی را تنظیم می کند که در نوار ابزار نمایش داده می شود.
setCloseButtonPosition()
نماد دکمه بستن را برای برگه سفارشی تنظیم می کند.
setColorScheme()
طرح رنگی را که باید روی رابط کاربری در تب سفارشی اعمال شود را تنظیم می کند.
setColorSchemeParams()
طرح رنگی را که باید روی رابط کاربری در تب سفارشی اعمال شود را تنظیم می کند.
setDefaultColorSchemeParams()
CustomTabColorSchemeParams()
را برای طرح رنگ داده شده تنظیم می کند. این اجازه می دهد تا دو رنگ مختلف نوار ابزار را برای طرح های روشن و تاریک مشخص کنید.
setDefaultShareMenuItemEnabled()
تنظیم کنید که آیا یک مورد اشتراکگذاری پیشفرض به منو اضافه شود یا خیر.
setExitAnimations()
هر انیمیشن خروجی را تنظیم می کند.
setInitialActivityHeightPx()
ارتفاع اولیه «فعالیت برگه سفارشی» را با رفتار تغییر اندازه پیشفرض بر حسب پیکسل تنظیم میکند. برگه سفارشی مانند یک صفحه پایین عمل می کند. این اغلب به عنوان یک برگه سفارشی جزئی نامیده می شود.
setNavigationBarColor()
رنگ نوار پیمایش را تنظیم می کند. روی نسخه های API زیر L تاثیری ندارد.
setNavigationBarDividerColor()
setSecondaryToolbarColor()
رنگ نوار ابزار ثانویه را تنظیم می کند.
setShareState()
وضعیت اشتراکی را که باید در برگه سفارشی اعمال شود را تنظیم می کند.
setShowTitle()
تعیین می کند که آیا عنوان باید در برگه سفارشی نشان داده شود.
setStartAnimations()
انیمیشن های شروع را تنظیم می کند.
setToolbarColor()
رنگ نوار ابزار را تنظیم می کند. در اندروید L و بالاتر، این رنگ در نوار وضعیت نیز اعمال می شود.
setToolbarCornerRadiusDp()
شعاع گوشه بالای نوار ابزار را بر حسب dp تنظیم می کند.
setUrlBarHidingEnabled()
تنظیم کنید که آیا هنگام حرکت کاربر در صفحه به پایین، نوار آدرس پنهان شود یا خیر.
CustomTabsClient
CustomTabsClient
یک کلاس اختیاری برای برقراری ارتباط با CustomTabsService
و ایجاد CustomTabsSession
از آن است.
دست گرمی بازی کردن()
فرآیند مرورگر را گرم کنید.
CustomTabsSession
CustomTabsSession
یک کلاس اختیاری است که می توانید به نمونه ای از CustomTabsIntent.Builder()
ارائه دهید. در صورت استفاده، می توانید از این کلاس برای مدیریت هرگونه ارتباط با برگه سفارشی استفاده کنید.
setEngagementSignalsCallback()
یک EngagementSignalsCallback
را برای دریافت تماسها برای رویدادهای مربوط به تعامل کاربر با صفحه وب در برگه تنظیم میکند.
isEngagementSignalsApiAvailable()
نشان می دهد که آیا Engagement Signals API موجود است یا خیر. در دسترس بودن Engagement Signals API ممکن است در زمان اجرا تغییر کند.
mayLaunchUrl()
به مرورگر از پیمایش احتمالی آینده به یک URL می گوید. محتمل ترین URL ابتدا باید مشخص شود. به صورت اختیاری، فهرستی از URL های احتمالی دیگر را می توان ارائه کرد. احتمال کمتری نسبت به اولی وجود دارد و باید به ترتیب اولویت کاهشی مرتب شوند. این URL های اضافی ممکن است نادیده گرفته شوند. همه تماس های قبلی به این روش از اولویت برخوردار خواهند بود.