يتيح لك FocusManager نقل التركيز في اتجاه معيّن أو محوه بالكامل.
استخدِم FocusRequester لاستهداف المكوّنات مباشرةً (راجِع طلب التركيز آليًا).
نقل التركيز في اتجاه معيّن باستخدام FocusManager
لنقل التركيز آليًا في اتجاه نسبي:
- احصل على مثيل
FocusManagerباستخدامLocalFocusManager.current. - استدعِ
moveFocus()باستخدام قيمةFocusDirection(NextأوPreviousأوUpأوDownأوLeftأوRightأوEnterأوExit).
val focusManager = LocalFocusManager.current Button( onClick = { focusManager.moveFocus(FocusDirection.Next) } ) { Text("Next Field") }
محو التركيز
لإزالة التركيز من أي عنصر يركّز عليه حاليًا
(على سبيل المثال، عندما يضغط المستخدم على مفتاح Esc)،
يمكنك استدعاء clearFocus():
val focusManager = LocalFocusManager.current Box( modifier = Modifier.onPreviewKeyEvent { keyEvent -> if (keyEvent.key == Key.Escape && keyEvent.type == KeyEventType.KeyUp) { focusManager.clearFocus() true } else { false } } )
تقبل الدالة clearFocus() معلَمة force: Boolean = false اختيارية:
-
force = false(تلقائي): يراعي عمليات قفل التركيز ولن يزيل التركيز إذا كان المكوّن النشط قد التقط التركيز. -
force = true: يزيل التركيز بدون شروط حتى إذا كان أحد المكوّنات قد التقط التركيز.
التطبيقات المقترَحة لك
- ملاحظة: يتم عرض نص الرابط عندما يكون JavaScript غير مفعَّل
- أهداف التركيز
- ترتيب تمرير التركيز
- طلب التركيز آليًا