부분적인 맞춤 탭으로 멀티태스킹

기본적으로 맞춤 탭은 전체 창 활동으로 실행됩니다. Chrome에서 시작 107에서 일부 맞춤 탭을 사용하여 시작 높이를 지정할 수 있습니다. 사용자가 앱과 상호작용하여 멀티태스킹할 수 있는 세로 모드입니다. 웹 콘텐츠 조회. 사용자는 드래그하여 맞춤 탭을 전체 화면으로 확장할 수 있습니다. 도구 모음에서 핸들을 드래그하여 초기 시작 높이를 복원하고 처리할 수 있습니다.

<ph type="x-smartling-placeholder">
</ph> 하단 시트 부분 탭의 스크린샷
하단 시트의 일부 맞춤 탭

Chrome 120부터 대형 화면이나 가로 모드의 기기인 경우 측면에 맞춤 탭의 일부를 표시하기 위한 최대 실행 너비 시트입니다. 중단점을 설정하면 부분적인 맞춤 광고를 언제 시작할지 결정할 수 있습니다. 하단 또는 측면 시트에서 Tab 키를 누릅니다.

<ph type="x-smartling-placeholder">
</ph> 사이드 시트 부분 탭 스크린샷
사이드 시트의 일부 맞춤 탭.
를 통해 개인정보처리방침을 정의할 수 있습니다.

기본 요건

일부 맞춤 탭을 사용하려면 다음을 수행해야 합니다.

서비스가 실행 중일 때 빠른 시작을 원하는 경우 두 접근 방식 결합 연결이 아직 설정되지 않았습니다.

하단 시트 구성

맞춤 탭을 부분 맞춤 탭으로 전환하려면 초기 실행 높이를 정의하세요. 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))

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

다음 단계: 맞춤 탭에서 사용자 참여도를 측정하는 방법을 알아보세요.