نشان دادن وضعیت تمرکز

حالت متمرکز نشانه دیداری واضحی ارائه می‌دهد تا به کاربران کمک کند متوجه شوند کدام عنصر میانای کاربر درحال‌حاضر تمرکز ورودی را دارد. همه مؤلفه‌های تعاملی Material 3 به‌طور پیش‌فرض نشانگرهای تمرکز داخلی ارائه می‌دهند.

نشانگر تمرکز زمینه Material

عناصر Material از تابع ripple و LocalIndication برای ترسیم تغییرات وضعیت دیداری استفاده می‌کنند. برای پیوست کردن بازخورد استاندارد تمرکز Material به مؤلفه سفارشی:

  1. MutableInteractionSource بااستفاده از remember { MutableInteractionSource() } ایجاد کنید.
  2. منبع تعامل را به اصلاح‌کننده indication، در کنار ripple() ارسال کنید.

val interactionSource = remember { MutableInteractionSource() }

Box(
    modifier = Modifier
        .clickable(
            interactionSource = interactionSource,
            indication = null
        ) { /* onClick */ }
        .indication(
            interactionSource = interactionSource,
            indication = ripple()
        )
) {
    Text("Custom component with Material ripple")
}

پیاده‌سازی نشانگرهای کانونی کردن سفارشی

برای نشانه‌های دیداری سفارشی (مانند مقیاس‌بندی، حاشیه‌ها، یا جلوه‌های درخشان):

  1. IndicationNodeFactory ایجاد کنید.
  2. تعامل‌های فوکوس را که از InteractionSource عنصر منتشر می‌شود مشاهده کنید.
  3. بااستفاده از اصلاح‌کننده indication، نشانگر سفارشی را اعمال کنید.

var interactionSource = remember { MutableInteractionSource() }

Card(
    modifier = Modifier
        .clickable(
            interactionSource = interactionSource,
            indication = MyHighlightIndication,
            enabled = true,
            onClick = { }
        )
) {
    Text("hello")
}