आंशिक कस्टम टैब से एक साथ कई काम करना

डिफ़ॉल्ट रूप से, कस्टम टैब एक फ़ुल-विंडो गतिविधि के तौर पर लॉन्च होते हैं. Chrome में शुरू हो रहा है 107, आप में एक भिन्न लॉन्च ऊंचाई निर्दिष्ट करने के लिए आंशिक कस्टम टैब का उपयोग कर सकते है पोर्ट्रेट मोड की मदद से, ऐप्लिकेशन इस्तेमाल करते समय लोगों को एक साथ कई काम करने की सुविधा मिलती है वेब कॉन्टेंट देखना. उपयोगकर्ता खींचकर फ़ुल-स्क्रीन में कस्टम टैब को बड़ा कर सकते हैं टूलबार को हैंडल कर लेने और शुरुआती लॉन्च की ऊंचाई को वापस लाने के लिए, हैंडल डाउन करें.

बॉटम शीट के 'पार्शियल टैब' का स्क्रीनशॉट
बॉटम शीट में कस्टम टैब का कुछ हिस्सा.

बड़ी स्क्रीन या लैंडस्केप मोड वाले डिवाइसों के लिए, Chrome 120 और इसके बाद के वर्शन में कस्टम टैब का कुछ हिस्सा दिखाने के लिए, लॉन्च के लिए ज़्यादा से ज़्यादा चौड़ाई तय कर सकता है शीट. ब्रेक पॉइंट सेट करके, यह तय किया जा सकता है कि कुछ हद तक कस्टम सबसे नीचे या साइड शीट में Tab दबाएं.

साइड शीट के 'पार्शियल टैब' का स्क्रीनशॉट
साइड शीट में मौजूद कुछ हद तक कस्टम टैब.

पूर्वापेक्षा

कुछ हद तक कस्टम टैब का इस्तेमाल करने के लिए, आपको:

अगर आपको तेज़ी से स्टार्टअप की सुविधा चाहिए, तो दोनों तरीकों को साथ में जोड़ें अभी तक कनेक्शन नहीं बना है.

बॉटम शीट को कॉन्फ़िगर करना

किसी कस्टम टैब को आंशिक कस्टम टैब में बदलने के लिए, शुरुआती लॉन्च की ऊंचाई तय करें CustomTabBuilder क्लास की setInitialActivityHeightPx() तरीका. डिफ़ॉल्ट रूप से, कस्टम टैब के कुछ हिस्से का साइज़ बदला जा सकता है. हालांकि, पेज के किसी हिस्से को स्किप किया जा सकता है ACTIVITY\_HEIGHT\_FIXED इस व्यवहार को बंद करने के लिए:

new CustomTabsBuilder().setInitialActivityHeightPx(
    400,
    ACTIVITY_HEIGHT_FIXED
);

साइड शीट को कॉन्फ़िगर करना

साइड शीट के व्यवहार को कॉन्फ़िगर करने के लिए, शुरुआती लॉन्च की चौड़ाई पिक्सल में तय करें CustomTabBuilder क्लास के setInitialActivityWidthPx() तरीका.

डिफ़ॉल्ट रूप से, कस्टम टैब के कुछ हिस्से का साइज़ बदला जा सकता है. हालांकि, पेज के किसी हिस्से को स्किप किया जा सकता है ACTIVITY\_HEIGHT\_FIXED इस व्यवहार को बंद करने के लिए:

  CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder(session)
        .setInitialActivityHeightPx(400)
        .setInitialActivityWidthPx(400);
        .setActivitySideSheetBreakpointDp(800);

अगर स्क्रीन की चौड़ाई इससे ज़्यादा होती है, तो कस्टम टैब साइड शीट की तरह काम करेगा ब्रेकपॉइंट वैल्यू, जिसे इसने सेट किया है setActivitySideSheetBreakpointDp() का भी इस्तेमाल करना चाहिए. अगर स्क्रीन की चौड़ाई x से ज़्यादा है, तो कस्टम टैब एक साइड की तरह काम करेगा नहीं है, तो यह बॉटम शीट की तरह काम करेगा. अगर कोई ब्रेकपॉइंट नहीं है तय किया गया है, ब्राउज़र लागू करने की प्रक्रिया को डिफ़ॉल्ट मान 840dp के तौर पर सेट करें. अगर x को <600dp पर सेट किया गया है, तो ब्राउज़र पर यह डिफ़ॉल्ट रूप से लागू होगा 600dp.

किसी मौजूदा सेशन में कुछ हद तक कस्टम टैब लॉन्च करना

CustomTabsSession customTabsSession;

// ...

CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder(customTabsSession)
   .setInitialActivityHeightPx(500)
    .setInitialActivityWidthPx(400);
    .setActivitySideSheetBreakpointDp(800);
   .setCloseButtonPosition(CustomTabsIntent.CLOSE_BUTTON_POSITION_END)
   // ...
   .build();

customTabsIntent.launchUrl(context, Uri.parse(url))

startActivityForresults के ज़रिए कुछ हद तक कस्टम टैब लॉन्च करें

private ActivityResultLauncher<String> mCustomTabLauncher = registerForActivityResult(new ActivityResultContract<String, Integer>() {
    @Override
    public Integer parseResult(int statusCode, @Nullable Intent intent) {
        return statusCode;
    }

    @NonNull
    @Override
    public Intent createIntent(@NonNull Context context, String url) {
        CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(customTabsSession)
                .setInitialActivityHeightPx(500)
                .setInitialActivityWidthPx(400);
                .setActivitySideSheetBreakpointDp(800);
                .setCloseButtonPosition(CustomTabsIntent.CLOSE_BUTTON_POSITION_END)
                .setToolbarCornerRadiusDp(10);
        Intent customTabsIntent = builder.build().intent;
        customTabsIntent.setData(Uri.parse(url));
        return customTabsIntent;
    }
}, new ActivityResultCallback<Integer>() {
    @Override
    public void onActivityResult(Integer statusCode) {
       // ...
    }
});

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    Button selectButton = findViewById(R.id.select_button);
    selectButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            mCustomTabLauncher.launch(customTabsIntent.intent);
        }
    });
}

इसके बाद: अपने कस्टम टैब में उपयोगकर्ता के जुड़ाव को मापने का तरीका जानें.