حالت فوکوس، یک نشانه بصری واضح ارائه میدهد تا به کاربران کمک کند بفهمند کدام عنصر رابط کاربری در حال حاضر فوکوس ورودی را در اختیار دارد. همه اجزای تعاملی Material 3 به طور پیشفرض نشانگرهای فوکوس داخلی را ارائه میدهند.
نشانگر تمرکز تم متریال
کامپوننتهای متریال از تابع ripple و LocalIndication برای ترسیم تغییرات حالت بصری استفاده میکنند. برای اتصال بازخورد استاندارد تمرکز متریال به یک کامپوننت سفارشی:
- با استفاده از
remember { MutableInteractionSource() }یکMutableInteractionSourceایجاد کنید. - منبع تعامل را به همراه
ripple()به اصلاحکنندهیindicationارسال کنید.
val interactionSource = remember { MutableInteractionSource() } Box( modifier = Modifier .clickable( interactionSource = interactionSource, indication = null ) { /* onClick */ } .indication( interactionSource = interactionSource, indication = ripple() ) ) { Text("Custom component with Material ripple") }
پیادهسازی نشانههای فوکوس سفارشی
برای نشانههای بصری سفارشی (مانند مقیاسبندی، حاشیهها یا جلوههای درخشش):
- یک
IndicationNodeFactoryایجاد کنید. - تعاملات فوکوس منتشر شده توسط
InteractionSourceعنصر را مشاهده کنید. - با استفاده از اصلاحکنندهی
indication، نشانهی سفارشی را اعمال کنید.
var interactionSource = remember { MutableInteractionSource() } Card( modifier = Modifier .clickable( interactionSource = interactionSource, indication = MyHighlightIndication, enabled = true, onClick = { } ) ) { Text("hello") }
برای شما توصیه میشود
- توجه: متن لینک زمانی نمایش داده میشود که جاوا اسکریپت غیرفعال باشد.
- اهداف تمرکز
- ترتیب پیمایش فوکوس
- واکنش به تمرکز