در حالتهای تعامل تخصصی (مثل بوم نقاشی جاسازیشده، سطح کنترلکننده بازی، یا کادر گفتگوی ورودی مodal)، ممکن است برنامه شما نیاز داشته باشد که بهطور موقت تمرکز را روی یک مؤلفه قفل کند و از پیمایش کلیدهای 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") }
توصیهشده برای شما
- توجه: وقتی جاوا اسکریپت خاموش باشد، نوشتار پیوند نمایش داده میشود
- هدفهای تمرکز
- هدفهای تمرکز گروه
- درخواست تمرکز بهصورت برنامهنویسیشده