Jetpack Compose Glimmer'da Card bileşeni, ilgili içerikler için birincil kapsayıcı görevi görerek kolayca anlaşılabilen bilgi birimleri için net bir görsel sınır oluşturur. Kartlar son derece uyarlanabilir olup ana içerik, isteğe bağlı başlıklar, altyazılar ve önde veya arkada yer alan simgelerin kombinasyonlarını destekler. Kartlar varsayılan olarak mevcut genişliğin tamamını kaplar, odaklanılabilir ve tıklanabilir hale getirilebilir. Kartlar, başlık resminin en üstte, ardından başlığın, alt başlığın ve gövde içeriğinin yer aldığı dikey düzeni destekler.
Kartlar, Jetpack Compose Glimmer yüzey sistemi üzerine kurulduğundan derinlik efektleri, kırpma ve tutarlı kenarlık vurguları gibi fiziksel özellikleri devralır.
Anatomi ve alanlar
Jetpack Compose Glimmer kartı, içeriğini ve düzenini özelleştirmenize olanak tanıyan çeşitli özel öğelerden oluşur.
| Alan | Açıklama |
|---|---|
Başlık |
Kartın üst kısmı, resim eklemek için tasarlanmıştır. |
Başlık ve alt başlık |
Bu metin alanları, kartın ana ve ikincil etiketlerini sağlar. Başlık, alt başlığın üstüne yerleştirilir. |
Ön simge |
Kartın içerik alanının başında görünen isteğe bağlı bir simge (genellikle |
Sondaki simge |
Kartın içerik alanının sonunda görünen isteğe bağlı simge. |
İşlem |
|
Ana içerik |
Birincil |
Kart varsayılanları
Kartlar için aşağıdaki varsayılanlar geçerlidir:
- Genişlik: Kartlar, ekranda okunabilirliği optimize etmek için ekranın kullanılabilir maksimum genişliğini doldurur.
- Minimum yükseklik:
80.dp - Metin dikey aralığı:
3.dp - Başlık şekli:
24.dpköşeliRoundedCornerShapekullanır. - İçerik dolgusu: Varsayılan olarak
GlimmerTheme.componentSpacingValues.mediumdeğerine ayarlanır. Bu, başlık resimlerinin ve içerik kapsayıcısının etrafındaki en dıştaki dolguyu etkiler. - Şekil: Varsayılan olarak
GlimmerTheme.shapes.mediumdeğerine ayarlanır. Metin oluşturma: Aşağıdaki yuvalar için
GlimmerTheme.typographyöğesindeki varsayılan değerleri kullanır:- Başlık:
bodyMedium - Alt başlık:
caption - Ana içerik:
bodySmall
- Başlık:
Örnek: Temel kart
Aşağıdaki kod, temel bir kart oluşturur:
@Composable fun CardSample() { Card { Text("This is a card") } }
Örnek: Birden fazla yuvalı karmaşık kart
Aşağıdaki kodda, kart oluşturmak için birden fazla yuvanın birlikte nasıl kullanılacağı gösterilmektedir.
@Composable fun CardWithTitleAndLeadingIconAndHeaderAndAction() { Card( action = { Button(onClick = {}, trailingIcon = { Icon(FavoriteIcon, "Localized description") }) { Text("Send") } }, title = { Text("Title") }, leadingIcon = { Icon(FavoriteIcon, "Localized description") }, header = { Image(MyHeaderImage, "Localized description", contentScale = ContentScale.FillWidth) }, ) { Text("This is a card with a title, leading icon, header image, and action") } }
Kodla ilgili önemli noktalar
- Kartın içeriğini ve yapısını özelleştirmek için
header,title,leadingIconveactiongibi çeşitli kart öğelerinin nasıl kullanılacağını gösterir. - Yalnızca kart (veya kartın dahili işlemi) odaklanılabilir olması gerektiğinden, işlemle birlikte standart
Cardaşırı yüklemesini kullanır. Kartın tamamını etkileşimli hale getirmeniz gerekiyorsa bunun yerineonClickileCardaşırı yüklemesini kullanın. - Bu kartta bir işlem yuvası kullanıldığından kart yüzeyine odaklanılamaz ve odak bunun yerine işlem düğmesine yönlendirilir.