使用部分自訂分頁進行多工作業

根據預設,「自訂分頁」會以完整視窗活動的形式啟動。正在透過 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);

當螢幕寬度大於 設定每個 Pod 的 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))

透過 startActivityForResult 啟動部分自訂分頁

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);
        }
    });
}

下一步:瞭解如何在「自訂」分頁中評估使用者參與度