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

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

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

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

  1. بااستفاده از remember { MutableInteractionSource() }، یک 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")
}