در برخیاز جریانهای کاربر، برنامه شما باید بهطور صریح تمرکز را به مؤلفه خاصی منتقل کند. برای مثال، وقتی کاربر روی دکمه «جستجو» کلیک میکند، ممکن است بخواهید تمرکز را بهطور خودکار روی فیلد ورودی جستجو قرار دهید.
استفاده از FocusRequester
برای درخواست صریح تمرکز:
- ایجاد و بهخاطر سپردن نمونه
FocusRequester:val focusRequester = remember { FocusRequester() }. FocusRequesterرا بااستفاده از اصلاحکنندهfocusRequesterبه ترکیبپذیر هدف پیوست کنید.requestFocus()را در یک فراخوانی رویداد (مانندonClick) یا یک محدوده کوروتین فراخوانی کنید.
val focusRequester = remember { FocusRequester() } var text by remember { mutableStateOf("") } TextField( value = text, onValueChange = { text = it }, modifier = Modifier.focusRequester(focusRequester) )
val focusRequester = remember { FocusRequester() } var text by remember { mutableStateOf("") } TextField( value = text, onValueChange = { text = it }, modifier = Modifier.focusRequester(focusRequester) ) Button(onClick = { focusRequester.requestFocus() }) { Text("Request focus on TextField") }
تنظیم تمرکز صفحه اولیه
برای قرار دادن تمرکز اولیه روی مؤلفهای خاص وقتی صفحهای برای اولینبار ظاهر میشود،
requestFocus() را در LaunchedEffect(Unit) راهاندازی کنید:
LaunchedEffect(Unit) {
focusRequester.requestFocus()
}
هنگام پیمایش بین محفظهها یا بازگشت از صفحهای دیگر،
میتوانید focusRestorer() را به محفظههای اصلی نیز متصل کنید
تا تمرکز بهطور خودکار به آخرین فرزند متمرکزشده بازگردد.
برای اطلاعات بیشتر، راهنمای بازیابی تمرکز را ببینید.
توصیهشده برای شما
- توجه: وقتی جاوا اسکریپت خاموش باشد، نوشتار پیوند نمایش داده میشود
- هدفهای تمرکز
- هدفهای تمرکز گروه
- بازیابی تمرکز
- حرکت دادن و پاک کردن فوکوس