تتيح لك FocusManager تحريك التركيز في اتجاه معيّن أو إزالته بالكامل.
استخدِم FocusRequester لاستهداف المكوّنات المباشر (راجِع طلب التركيز آليًا).
نقل التركيز في اتجاهات مختلفة باستخدام FocusManager
لنقل التركيز آليًا في اتجاه نسبي، اتّبِع الخطوات التالية:
- احصل على مثيل
FocusManagerباستخدامLocalFocusManager.current. - استخدِم القيمة
FocusDirectionللاتصال بالرقمmoveFocus()(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 غير مفعّلة
- أهداف التركيز
- ترتيب التمرير بالتركيز
- طلب التركيز آليًا