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