فهرستها به کاربران اجازه میدهند یک مورد را از میان مجموعهای از گزینههای موجود در دستگاههای Wear OS انتخاب کنند.
بسیاری از دستگاههای Wear OS از صفحهنمایشهای گرد استفاده میکنند، که دیدن موارد فهرستی را که در نزدیکی بالا و پایین صفحه ظاهر میشوند دشوارتر میکند. به همین دلیل، Compose for Wear OS شامل نسخهای از کلاس LazyColumn
به نام ScalingLazyColumn
است که از افکتهای مقیاسبندی و محو شدن پشتیبانی میکند. وقتی آیتم ها به سمت مرکز صفحه حرکت می کنند، بزرگتر و مات تر می شوند.
انیمیشن زیر نشان می دهد که چگونه اندازه و شفافیت یک عنصر با حرکت در صفحه نمایش تغییر می کند:
قطعه کد زیر نحوه ایجاد یک لیست با استفاده از نسخه Horologist از طرح بندی ScalingLazyColumn
را برای ایجاد محتوایی که در انواع اندازه های صفحه نمایش Wear OS عالی به نظر می رسد نشان می دهد، به عنوان مثال در مثال زیر، بالشتک لازم را به صفحه اول اضافه می کند و آخرین عناصر لیست که در scrollState
از ScalingLazyColumn
تنظیم شده اند:
val columnState = rememberResponsiveColumnState( contentPadding = ScalingLazyColumnDefaults.padding( first = ScalingLazyColumnDefaults.ItemType.Text, last = ScalingLazyColumnDefaults.ItemType.SingleButton ) ) ScreenScaffold(scrollState = columnState) { ScalingLazyColumn( columnState = columnState ) { item { ResponsiveListHeader(contentPadding = firstItemPadding()) { Text(text = "Header") } } // ... other items item { Button( imageVector = Icons.Default.Build, contentDescription = "Example Button", onClick = { } ) } } }
افکت Snap-and-Fling اضافه کنید
می توانید یک رفتار snap-and-fling را به حرکات انگشت اضافه کنید که کاربر روی اشیاء ScalingLazyColumn
اعمال می کند. این افکت به کاربران کمک می کند تا با دقت بیشتری در میان موارد موجود در یک لیست حرکت کنند و در عین حال به آنها کمک می کند تا در یک لیست طولانی با سرعت بیشتری حرکت کنند.
برای افزودن این افکت به نسخه Horologist از ScalingLazyColumn
، پارامتر rotaryMode
columnState
را روی RotaryWithSnap
قرار دهید، همانطور که در قطعه کد زیر نشان داده شده است:
val columnState = rememberResponsiveColumnState( // ... // ... rotaryMode = ScalingLazyColumnState.RotaryMode.Snap ) ScreenScaffold(scrollState = columnState) { ScalingLazyColumn( columnState = columnState ) { // ... // ... } }
برای شما توصیه می شود
- توجه: متن پیوند زمانی که جاوا اسکریپت خاموش است نمایش داده می شود
- نوشتن برای Wear OS Codelab
- لیست ها و شبکه ها
- استفاده از Views در Compose