تمرکز در فیلدهای نوشتاری

وقتی کاربران با صفحه‌کلید سخت‌افزاری، پد کنترل، یا دسته کنترل چرخشی در Compose UI پیمایش می‌کنند، فیلدهای نوشتاری در کنار سایر هدف‌های تمرکز در پیمایش تمرکز شرکت می‌کنند.

به‌طور پیش‌فرض، تمرکز در فیلدهای نوشتاری گیر نمی‌کند. برای اینکه کاربران بتوانند فیلد نوشتاری را ترک کنند، لازم نیست کنترل‌کننده‌های رویداد کلیدی سفارشی (onKeyEvent یا onPreviewKeyEvent) اضافه کنید. کاربران همیشه می‌توانند بااستفاده از Shift+Tab یا با پیمایش فراتر از مرزهای نوشتار با کلیدهای جهت‌نما از این حالت خارج شوند.

از KeyboardOptions می‌توان برای ارائه کنش صفحه‌کلید نرم‌افزاری بصری استفاده کرد که با پیمایش صفحه‌کلید سخت‌افزاری هماهنگ است. برای مثال، ImeAction.Next تمرکز را به هدف تمرکز بعدی منتقل می‌کند.

پیمایش تمرکز یک‌بعدی

در پیمایش تمرکز یک‌بعدی، رفتار کلید Tab به lineLimits پیکربندی‌شده در فیلد نوشتار بستگی دارد:

  • فیلدهای نوشتاری تک‌خطی (TextFieldLineLimits.SingleLine) فشار دادن کلید جهش تمرکز را به هدف تمرکز بعدی در واسط کاربر منتقل می‌کند.
  • فیلدهای نوشتاری چندخطی (TextFieldLineLimits.MultiLine() یا پیش‌فرض): فشار دادن کلید Tab به‌جای جابه‌جا کردن تمرکز، نویسه Tab (\t) را در میان‌گیر نوشتار درج می‌کند.
  • پیمایش معکوس (تبدیل+جهش): فشار دادن تبدیل+جهش بدون قیدوشرط فوکوس را به عقب به هدف فوکوس قبلی در هر دو فیلد نوشتاری تک‌خطی و چندخطی منتقل می‌کند.

// Single-line text field: Tab advances focus to the next focus target
BasicTextField(
    state = singleLineState,
    lineLimits = TextFieldLineLimits.SingleLine,
    modifier = Modifier.fillMaxWidth()
)

// Multi-line text field: Tab inserts '\t'; Shift + Tab moves to previous target
BasicTextField(
    state = multiLineState,
    lineLimits = TextFieldLineLimits.MultiLine(),
    modifier = Modifier.fillMaxWidth()
)

پیمایش فوکوس دوبعدی

هنگام استفاده از کلیدهای جهت‌نما (یا پد کنترل)، کلیدهای جهت‌دار ابتدا مکان‌نمای نوشتار (هشتک) را در فیلد نوشتاری جابه‌جا می‌کنند:

  • پیمایش عمودی (بالا / پایین): فشار دادن کلید Down، علامت درج را خط‌به‌خط به‌سمت پایین حرکت می‌دهد. وقتی مکان‌نما به آخرین خط می‌رسد، فشار دادن مجدد کلید پایین تمرکز را به هدف تمرکز مجاور در زیر فیلد نوشتار منتقل می‌کند. فشار دادن کلید بالا در خط اول، تمرکز را به هدف تمرکز قبلی منتقل می‌کند.
  • پیمایش افقی (چپ / راست / شروع / پایان): فشار دادن کلیدهای جهت‌نمای افقی، علامت درج را در میان نویسه‌ها حرکت می‌دهد. وقتی نشانگر درج به ابتدا یا انتهای میان‌گیر نوشتار می‌رسد، فشار دادن مجدد کلید جهت‌نما، تمرکز را به هدف تمرکز مجاور در آن جهت منتقل می‌کند.

فیلدهای نوشتاری در Android TV

در Android TV، بااستفاده از کنترل‌کننده‌های پد کنترل بدون صفحه‌کلید فیزیکی:

  1. با انتقال فوکوس به فیلد نوشتاری، صفحه‌کلید نرم‌افزاری مجازی به‌طور خودکار نمایش داده می‌شود.
  2. کاربر بااستفاده از پد کنترل، کلیدهای صفحه‌کلید نرم‌افزاری را پیمایش می‌کند.
  3. با فشار دادن دکمه برگشتن، صفحه‌کلید نرم‌افزاری بسته می‌شود درحالی‌که تمرکز روی فیلد نوشتاری حفظ می‌شود.
  4. وقتی صفحه‌کلید نرم‌افزاری بسته می‌شود، فشار دادن کلیدهای جهت‌نمای پد کنترل تمرکز را به هدف‌های تمرکز مجاور در صفحه منتقل می‌کند.
  5. فشار دادن دکمه برگشت برای بار دوم، پیمایش به عقب استاندارد سیستم را راه‌اندازی می‌کند.