Özel Sekmeler varsayılan olarak tam pencere etkinliği olarak başlatılır. Chrome'da başlatılıyor 107'de farklı bir başlatma yüksekliği belirtmek için kısmi Özel Sekmeler kullanıcıların uygulamanızla etkileşimde bulunurken aynı anda birden fazla iş yapmasına olanak tanıyan dikey mod web içeriğini görüntüleme. Kullanıcılar, sürükleyerek Özel Sekme'yi tam ekrana genişletebilir tutma yerini yukarı doğru hareket ettirebilir ve tutma yeridir.
![Alt sayfadaki Kısmi Sekme ekran görüntüsü](https://developer.chrome.com/static/docs/android/custom-tabs/guide-partial-custom-tabs/image/example-partial-tab-ff19cab6a28dd.png?authuser=19&hl=tr)
Büyük ekranlarda veya yatay moddaki cihazlarda, Chrome 120 sürümünden itibaren bir tarafta kısmi Özel Sekme göstermek için maksimum başlatma genişliği belirtilebilir sayfasına gitmelidir. Bir mola noktası belirleyerek, kısmi bir Özel öğenin ne zaman başlatılacağına karar verebilirsiniz. Alt veya yan sayfada sekme tuşuna basın.
![Yan sayfadaki Kısmi Sekme ekran görüntüsü](https://developer.chrome.com/static/docs/android/custom-tabs/guide-partial-custom-tabs/image/example-partial-tab-sidesheet.jpg?authuser=19&hl=tr)
Ön koşul
Özel Sekmelerin bir kısmını kullanabilmek için şunları yapmanız gerekir:
CustomTabsServiceConnection
kullanarak yeni bir tarayıcı oturumu başlatın Özel Sekmeler amacına veyakullanarak Özel Sekme etkinliği başlatın:
startActivityForResult()
.
Hizmetin kullanıma sunulması ihtimaline karşı hızlı bir başlatma istiyorsanız her iki yaklaşımı da birleştirin. bağlantısı henüz kurulamadı.
Alt sayfayı yapılandırma
Bir Özel Sekmeyi kısmi bir Özel Sekmeye dönüştürmek için ilk başlatma yüksekliğini tanımlayın
CustomTabBuilder
sınıfını çağırarak piksel cinsinden
setInitialActivityHeightPx()
yöntemidir. Varsayılan olarak, kısmi Özel Sekme yeniden boyutlandırılabilir, ancak
ACTIVITY\_HEIGHT\_FIXED
şu davranışı devre dışı bırakmak için:
new CustomTabsBuilder().setInitialActivityHeightPx(
400,
ACTIVITY_HEIGHT_FIXED
);
Yan sayfayı yapılandırma
Yan sayfa davranışını yapılandırmak için başlangıçtaki başlatma genişliğini piksel cinsinden belirleyin:
CustomTabBuilder
sınıfına çağrı
setInitialActivityWidthPx()
yöntemidir.
Varsayılan olarak, kısmi Özel Sekme yeniden boyutlandırılabilir, ancak
ACTIVITY\_HEIGHT\_FIXED
şu davranışı devre dışı bırakmak için:
CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder(session)
.setInitialActivityHeightPx(400)
.setInitialActivityWidthPx(400);
.setActivitySideSheetBreakpointDp(800);
Ekran genişliği
ayrılma noktası değeri
setActivitySideSheetBreakpointDp() fonksiyonunda kullanılmaktadır.
Ekranın genişliği x
değerinden yüksek olduğunda Özel Sekme, kenar gibi davranır.
Aksi takdirde bir alt sayfa olarak davranır. Kesme noktası yoksa
belirtildiğinde, tarayıcı uygulamasının varsayılan değeri 840dp
olarak ayarlanmalıdır.
x
, <600dp
değerine ayarlanırsa tarayıcı uygulaması varsayılan olarak
600dp
.
Mevcut bir oturumla kısmi bir Özel Sekme başlatın
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 aracılığıyla kısmi bir Özel Sekme başlatın.
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);
}
});
}
Sıradaki içerik: Özel Sekmelerinizde kullanıcı etkileşimini nasıl ölçeceğinizi öğrenin.