Diagnostics Inspector
Bir uygulamanın üstünde, temasının tanılamasının bulduğunu gösterir: bulguların sayısıyla bir düğme ve basınca onları listeleyen bir sheet; her bulgu denetimiyle, bulunduğu yerle ve onu neyin düzelttiğiyle. Listede seçilen bir bulgu, ekrana bir sonraki basışa kadar düğümünün durduğu yerde çerçevelenir. Hiçbir şey bulunmamışken hiçbir şey gösterilmez.
import com.pantrixui.components.overlay.inspector.PantrixDiagnosticsInspector
- Uygulamayı sarar.
PantrixDiagnosticsInspector(findings) { App() }: içerik onsuz nasılsa öyle yerleşir ve her basışı alır. - Bulgu yokken görünmez. Düğme ilk bulguyla gelir, liste temizlenince gider.
- Çerçeve. Listeden seçilen bulgunun düğümü, ekrana bir sonraki basışa kadar çerçevelenir; düğümü olmayan bir bulgu ekranda olmadığını söyler.
- Yeri.
alignmentdüğmenin köşesini seçer; varsayılan bitiş kenarının altı.
Örnekler
Bir ekranın üstünde
Bir ekran, iki bulgusuyla: soluk renkli bir düğme ve adı boş bir ikon düğmesi. Sağ alttaki düğmeye bas, listeden bir bulgu seç: düğümü çerçevelenir.
val findings = remember { PantrixFindings() }
PantrixTheme(diagnostics = findings) {
PantrixDiagnosticsInspector(findings, modifier = Modifier.height(240.dp), tagKey = "orders") {
Screen(tagKey = "orders")
}
}
@Composable
private fun Screen(tagKey: String) {
PantrixCard(modifier = Modifier.fillMaxSize(), variant = CardVariant.Outlined) {
Column(verticalArrangement = Arrangement.spacedBy(PantrixTheme.spacing.sm)) {
PantrixText(text = "Siparişler", style = PantrixTheme.typography.headline)
PantrixText(text = "Üç sipariş gönderilmeyi bekliyor.")
PantrixButton(
text = "Gönder",
onClick = {},
modifier = Modifier.fillMaxWidth(),
colors = ButtonColors(container = Color(0xFFFFE082), content = Color.White),
tagKey = "${tagKey}_send"
)
PantrixIconButton(
imageVector = PantrixIcons.MoreHorizontal,
contentDescription = "",
onClick = {},
tagKey = "${tagKey}_more"
)
}
}
}
Düğmesi üstte
Düğme üstte, bir bar'ın eylemlerinin yanında durabileceği yerde.
val findings = remember { PantrixFindings() }
PantrixTheme(diagnostics = findings) {
PantrixDiagnosticsInspector(
findings,
modifier = Modifier.height(240.dp),
alignment = Alignment.TopEnd,
tagKey = "orders_top"
) {
Screen(tagKey = "orders_top")
}
}
@Composable
private fun Screen(tagKey: String) {
PantrixCard(modifier = Modifier.fillMaxSize(), variant = CardVariant.Outlined) {
Column(verticalArrangement = Arrangement.spacedBy(PantrixTheme.spacing.sm)) {
PantrixText(text = "Siparişler", style = PantrixTheme.typography.headline)
PantrixText(text = "Üç sipariş gönderilmeyi bekliyor.")
PantrixButton(
text = "Gönder",
onClick = {},
modifier = Modifier.fillMaxWidth(),
colors = ButtonColors(container = Color(0xFFFFE082), content = Color.White),
tagKey = "${tagKey}_send"
)
PantrixIconButton(
imageVector = PantrixIcons.MoreHorizontal,
contentDescription = "",
onClick = {},
tagKey = "${tagKey}_more"
)
}
}
}
API
findings
Bir uygulamanın üstünde, temasının tanılamasının bulduğunu gösterir: bulguların sayısıyla bir düğme ve basınca onları listeleyen bir sheet; her bulgu denetimiyle, bulunduğu yerle ve onu neyin düzelttiğiyle. Listede seçilen bir bulgu, ekrana bir sonraki basışa kadar düğümünün durduğu yerde çerçevelenir. Hiçbir şey bulunmamışken hiçbir şey gösterilmez.
| Parametre | Tür | Varsayılan | Ne olduğu |
|---|---|---|---|
findings | PantrixFindings | temanın tanılamasının bulduğu: content'in çevresindeki temanın diagnostics'i. | |
modifier | Modifier | Modifier | content'i ve üstündeki inspector'ı tutan kutuya uygulanır. |
alignment | Alignment | Alignment.BottomEnd | düğmenin content'in üstünde durduğu yer. |
tagKey | String? | null | dilden bağımsız bir otomasyon anahtarı: inspector'ın etiketi DiagnosticsInspector_<tagKey>'dir; düğmesininki, listesininki ve bulgularınınki bu anahtardan yapılır. |
content | @Composable () -> Unit | uygulamanın ekranı. |