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

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

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

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

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

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

  • فیلدهای نوشتاری تک‌خطی (TextFieldLineLimits.SingleLine) با فشار دادن کلید جهش، تمرکز به هدف تمرکز بعدی در واسط کاربر منتقل می‌شود.
  • فیلدهای نوشتار چندخطی (TextFieldLineLimits.MultiLine() یا پیش‌فرض): فشار دادن کلید جهش به‌جای حرکت دادن تمرکز، نویسه جهش (\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، بااستفاده از کنترل‌کننده‌های D-pad بدون صفحه‌کلید فیزیکی:

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