في أوضاع التفاعل المتخصصة (مثل لوحة الرسم المضمّنة أو سطح ذراع التحكّم في الألعاب أو مربّع حوار إدخال مشروط)، قد يحتاج تطبيقك إلى حصر التركيز مؤقتًا على مكوّن واحد ومنع مفتاح Tab أو مفاتيح الأسهم من الانتقال إلى مكان آخر.
التركيز على التقاط الصور
لالتقاط التركيز، استخدِم captureFocus() على FocusRequester:
val focusRequester = remember { FocusRequester() } Box( modifier = Modifier .focusRequester(focusRequester) .focusable() .onFocusChanged { focusState -> if (focusState.isFocused) { focusRequester.captureFocus() } } )
أثناء التقاط التركيز، لا تنقل مفاتيح التنقّل العادية (مثل Tab) التركيز إلى المكوّنات المجاورة.
التركيز على الإصدار
للخروج من حالة الالتقاط واستعادة التنقّل العادي باستخدام التركيز في جميع أنحاء واجهة المستخدم، استدعِ الدالة freeFocus():
IconButton( onClick = { focusRequester.freeFocus() } ) { Icon(Icons.Default.Close, contentDescription = "Exit focus lock") }
اقتراحات مخصصة لك
- ملاحظة: يتم عرض نص الرابط عندما تكون JavaScript غير مفعّلة
- أهداف التركيز
- استهدافات تركيز المجموعة
- طلب التركيز آليًا