Trong Jetpack Compose Glimmer, các nền tảng sử dụng hình dạng để xác định ranh giới trực quan và độ tròn của chúng. Lớp Shapes cung cấp nhiều mức độ bo tròn dành cho nhiều loại thành phần.
Danh mục hình dạng
Lớp GlimmerTheme xác định 3 kích thước hình dạng tiêu chuẩn:
- Nhỏ: Hình dạng có 4 góc bằng nhau. Được dùng cho các thành phần như thẻ. Theo mặc định, đây là
RoundedCornerShapecủa 24.dp. - Trung bình: Hình dạng có 4 góc có cùng kích thước, nằm giữa kích thước nhỏ và lớn. Đây là hình dạng thường dùng nhất và là hình dạng mặc định được dùng trong nền tảng. Theo mặc định, đây là
RoundedCornerShapecủa 36.dp. - Lớn: Hình dạng có 4 góc bo tròn hoàn toàn. Hình dạng này được dùng cho các thành phần như nút. Theo mặc định, đây là
CircleShape.
Ví dụ: Lấy hình dạng từ GlimmerTheme và áp dụng cho các thành phần
Trước tiên, hãy lấy các hình dạng đã xác định từ GlimmerTheme.shapes:
@Composable fun ShapesSample() { val shapes = GlimmerTheme.shapes GlimmerLazyColumn { item { ShapeItem("small", shape = shapes.small) } item { ShapeItem("medium", shape = shapes.medium) } item { ShapeItem("large", shape = shapes.large) } } }
Tiếp theo, bạn có thể áp dụng các hình dạng này cho một số thành phần:
@Composable private fun ShapeItem(name: String, shape: Shape, modifier: Modifier = Modifier) { Box( modifier.aspectRatio(2.5f).fillMaxWidth().surface(shape = shape), contentAlignment = Alignment.Center, ) { Text(name) } }
Tuỳ chỉnh hình dạng
Lớp Shapes là @Immutable. Bạn có thể tạo bản sao của các hình dạng trong giao diện hiện có và ghi đè các giá trị cụ thể bằng cách sử dụng hàm sao chép. Hãy làm như vậy để duy trì cấu trúc của giao diện trong khi điều chỉnh bán kính cụ thể cho thương hiệu của ứng dụng.
Ví dụ: Ghi đè các giá trị hình dạng cụ thể
Đoạn mã sau đây ghi đè các giá trị hình dạng cụ thể:
val customShapes = GlimmerTheme.shapes.copy(
small = RoundedCornerShape(12.dp),
medium = RoundedCornerShape(20.dp)
)
Giá trị mặc định
Nếu không được chỉ định trong GlimmerTheme, hệ thống sẽ mặc định sử dụng các giá trị sau:
| Mã thông báo | Hình dạng mặc định | Kích thước hoặc bán kính |
|---|---|---|
|
|
24.dp |
|
|
36.dp |
|
|
Bo tròn hoàn toàn |