تلویزیون

به توسعه دهندگان قابلیت های Compose و Material design را برای نوشتن برنامه های تلویزیونی ارائه می دهد
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
21 آگوست 2024 1.0.0 - - -

اعلام وابستگی ها

برای افزودن وابستگی به tv-fondation و tv-material، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر ، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.tv:tv-foundation:1.0.0-alpha11"
    implementation "androidx.tv:tv-material:1.0.0"
}

کاتلین

dependencies {
    implementation("androidx.tv:tv-foundation:1.0.0-alpha11")
    implementation("androidx.tv:tv-material:1.0.0")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

هیچ یادداشت انتشار برای این مصنوع وجود ندارد.

Tv-Material نسخه 1.0

نسخه 1.0.0

21 آگوست 2024

androidx.tv:tv-material:1.0.0 منتشر شد. نسخه 1.0.0 اولین نسخه پایدار androidx.tv:tv-material است.

نسخه 1.0.0-rc02

7 آگوست 2024

androidx.tv:tv-material:1.0.0-rc02 منتشر شد. نسخه 1.0.0-rc02 حاوی این commit ها است.

رفع اشکال

  • انیمیشن متن Jittery ثابت در Surface composable. ( 3163319 )

نسخه 1.0.0-rc01

10 جولای 2024

androidx.tv:tv-material:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 حاوی این commit ها است.

نسخه 1.0.0-beta01

1 مه 2024

androidx.tv:tv-material:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 حاوی این تعهدات است.

تغییرات API

  • ColorScheme و توابع کاربردی آن اکنون پایدار هستند. ( If34fa )
  • LocalContentColor اکنون پایدار است ( I60ee2 )
  • Typography API اکنون پایدار است ( I088d6 )
  • APIهای Shapes اکنون پایدار هستند ( I0f5f4 )
  • Border API اکنون پایدار است ( I69281 )
  • Glow API اکنون پایدار است ( Iea5f1 )
  • مؤلفه نماد اکنون پایدار است ( I62c2d )
  • LocalTextStyles API اکنون پایدار است ( Iaded8 )
  • MaterialTheme API اکنون پایدار است ( I2f541 )
  • مؤلفه متن اکنون پایدار است ( Ib9e31 )
  • مؤلفه RadioButton اکنون پایدار است ( Ia03c8 )
  • جزء سوئیچ اکنون پایدار است ( I6cea3 )
  • اجزای Checkbox اکنون پایدار هستند ( I7eafc )
  • اجزای سطح اکنون پایدار هستند ( I58758 , I04aca )
  • تغییر نام NonInteractiveSurfaceDefaults به SurfaceDefaults و NonInteractiveSurfaceColors به SurfaceColors ( I0812e )
  • Selectable Surface اکنون از اصطلاح "انتخاب" به جای "بررسی" استفاده می کند زیرا هر دو معنای معنایی متفاوتی دارند ( I5a206 )
  • NavigationDrawer و NavigationDrawerScope اکنون پایدار هستند ( I249c1 )
  • مؤلفه NavigationDrawerItem اکنون پایدار است ( Id6986 )
  • اجزای Tab و TabRow اکنون پایدار هستند ( I92d92 )
  • اجزای Button ، OutlinedButton ، IconButton ، OutlinedIconButton و WideButton اکنون پایدار هستند ( Ib4de8 )
  • اجزای Card , ClassicCard , CompactCard , WideClassicCard , StandardCardContainer و WideCardContainer اکنون پایدار هستند ( I34390 )
  • تغییر نام StandardCardLayout به StandardCardContainer و WideCardLayout به WideCardContainer ( I08883 )
  • CardContainerDefaults.ImageCard حذف شد و CardDefaults.ContainerGradient به CardDefaults.ScrimBrush تغییر نام داد ( I6adfe ). می توانید از Card به جای CardContainerDefaults.ImageCard در ظروف کارت خود استفاده کنید.
  • ListItem و DenseListItem اکنون پایدار هستند ( Idebd9 )
  • ListItemDefaults.ListItemShape ، ListItemDefaults.FocusedDisabledBorder و ListItemDefaults.SelectedContainerColorOpacity اکنون خصوصی هستند ( I5d533 )
  • پارامترهای ListItem را مجدداً مرتب کرد و ListItemDefaults.ListItemElevation را به ListItemDefaults.TonalElevation تغییر نام داد ( Id6841 ). پارامتر headlineContent به بالای فایل composable منتقل شده است. پیش از این، می‌توانید از نحو لامبدای انتهایی کاتلین برای عبور از headlineContent استفاده کنید. اکنون، باید از نحو پارامترهای نامگذاری شده برای ارائه headlineContent استفاده کنید.
  • LocalAbsoluteTonalElevation اکنون داخلی است ( Ibfc65 )
  • جزء ImmersiveList حذف شده است. این نمونه را بررسی کنید تا یاد بگیرید چگونه خودتان آن را بسازید. ( ID48da )
  • مؤلفه‌های tv-material که یک MutableInteractionSource در API خود نشان می‌دهند، به‌روزرسانی شده‌اند تا اکنون یک MutableInteractionSource قابل تهی را که پیش‌فرض آن null است، در معرض نمایش بگذارد. هیچ تغییر معنایی در اینجا وجود ندارد: عبور از null به این معنی است که شما نمی خواهید MutableInteractionSource بالا ببرید و در صورت نیاز در داخل کامپوننت ایجاد می شود. تغییر به null به برخی از مؤلفه‌ها اجازه می‌دهد تا هرگز یک MutableInteractionSource را تخصیص ندهند، و به سایر مؤلفه‌ها اجازه می‌دهد فقط در صورت نیاز، نمونه‌ای را ایجاد کنند، که عملکرد این مؤلفه‌ها را بهبود می‌بخشد. اگر از MutableInteractionSource که به این مؤلفه ها منتقل می کنید استفاده نمی کنید، توصیه می شود به جای آن، null را ارسال کنید. همچنین توصیه می شود که تغییرات مشابهی را در اجزای خود ایجاد کنید. ( I309b4 , b/298048146 )
  • پارامتر TextAlign جزء TV Text اکنون غیر تهی است ( Ib73b1 , b/299490814 )
  • یک مقدار نامشخص ویژه برای فیلدهای TextAlign ، TextDirection ، Hyphens و LineBreak در ParagraphTextStyle برای جایگزینی ( I4197e , b/299490814 ) معرفی کرد.

تغییرات رفتار

  • مقدار پیش‌فرض پارامتر shape برای Surface غیر تعاملی به RectangleShape ( I1b859cb ) تغییر کرده است.
  • برخی از ویژگی‌های چرخ فلک به دلیل آزمایشی بودن APIهای ضروری برای راه‌اندازی بتا حذف شده‌اند ( I0e755d4 )
  • تغییر contentColor در Surface دیگر بین حالت‌ها متحرک نمی‌شود ( I436e794f )

نسخه 1.0.0

نسخه 1.0.0-alpha11

10 جولای 2024

androidx.tv:tv-foundation:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 حاوی این تعهدات است.

تغییرات API

  • طرح‌بندی‌های تنبل تلویزیون از کتابخانه بنیاد تلویزیون منسوخ شده‌اند. برای یادگیری نحوه مهاجرت به دور از طرح‌بندی‌های تنبل تلویزیون، به این بلیط مراجعه کنید. ( I0855f , b/332674072 )
  • PlatformImeOptions اکنون یک کلاس مشخص به جای یک رابط است. ( If40a4 )

نسخه 1.0.0-alpha10

4 اکتبر 2023

androidx.tv:tv-foundation:1.0.0-alpha10 و androidx.tv:tv-material:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 حاوی این commit ها است.

ویژگی های جدید

  • NavigationDrawerItem برای استفاده در NavigationDrawer و ModalNavigationDrawer معرفی کرد. ( I4b491 )
  • نمایه خط پایه را به کتابخانه tv-foundation اضافه کنید. ( 2b57fd7 )
  • نمایه خط پایه را به کتابخانه tv-material اضافه کنید. ( 1711ff5 )

تغییرات API

  • تغییر نام NavigationDrawerScope.doesTabRowHaveFocus به NavigationDrawerScope.hasFocus . ( I8286b )
  • به TabRowScope.isActivated به TabRowScope.hasFocus تغییر نام داد. ( IC4273 )

رفع اشکال

  • سازگاری Carousel را با موارد مجاور که از API های بازیابی فوکوس استفاده می کنند، برطرف کنید. ( 7b2a7a4 )
  • نشانگر درخشش را برای API_LEVEL زیر 28 غیرفعال کنید زیرا توسط سیستم عامل پشتیبانی نمی‌شود. ( 6d3616f )
  • خرابی ANR ناشی از قرارگیری نامناسب مورد در ظروف تنبل هنگام پیمایش سریع در جهت معکوس را برطرف کنید. ( 642d65c )
  • بالشتک پس‌زمینه در کشو ناوبری معین حذف شد. ( 69965b2 )
  • Scrim را در کشو ناوبری ثابت کنید تا به جای پشت آن، بالای محتوای پس‌زمینه کشیده شود. ( d4bbefb )

نسخه 1.0.0-alpha09

6 سپتامبر 2023

androidx.tv:tv-foundation:1.0.0-alpha09 و androidx.tv:tv-material:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 حاوی این commit ها است.

تغییرات API

  • افزودن رابط کاربری ReusableComposition برای مدیریت چرخه عمر و استفاده مجدد از ترکیبات فرعی. ( I812d1 , b/252846775 )
  • همگام سازی فونداسیون تلویزیون با فونداسیون آهنگسازی. ( I737c3 , b/287011882 )
  • اضافه بار LazyLayout اضافه شده است، یک لامبدا از LazyLayoutItemProvider را می پذیرد، نه یک شی ساده را مانند قبل. اضافه بار قبلی منسوخ شده است. ( I42a5a )
  • TvKeyboardAlignment را اضافه کنید تا به توسعه دهنده اجازه دهید موقعیت صفحه کلید روی صفحه را از طریق AndroidImeOptions پیکربندی کند. ( Idb772 )
  • برای به خاطر سپردن CarouselState با Saver به TV Compose Material rememberCarouselState را اضافه کنید. ( ID7275 )
  • تغییر scrimColor: Color به scrimBrush:Brush پارامتر به کاربران اجازه می دهد تا شیب هایی را به scrim اضافه کنند. ( I254d4 )

نسخه 1.0.0-alpha08

26 جولای 2023

androidx.tv:tv-foundation:1.0.0-alpha08 و androidx.tv:tv-material:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 حاوی این commit ها است.

ویژگی های جدید

  • اجزای تراشه را برای Compose برای مواد تلویزیونی معرفی کنید. ( I86da4 )
  • جزء ListItem را به TV Compose Material اضافه کنید. ( I3f0b3 )
  • جزء DenseListItem را به TV Compose Material اضافه کنید. ( I536bf )

تغییرات API

  • APIهای عمومی tv-material به عنوان آزمایشی علامت‌گذاری شدند. ( I632e7 )
  • TabRowScope برای به اشتراک گذاشتن حالت از TabRow composable با Tab composable معرفی کرد و ویژگی TabColors را تغییر نام داد. ( Ief587 )

نسخه 1.0.0-alpha07

7 ژوئن 2023

androidx.tv:tv-foundation:1.0.0-alpha07 و androidx.tv:tv-material:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 حاوی این commit ها است.

تغییرات API

  • نشانه‌های مقیاس مؤلفه‌ها اکنون شامل None برای غیرفعال کردن مقیاس‌بندی می‌شود. ( I50df5 )
  • اضافه شدن پشتیبانی از کلیک طولانی برای سطح متریال تلویزیون، کارت ها و دکمه ها. ( ID2b89 )
  • CarouselItem و CarouselScope حذف شده اند. انیمیشن محتوای پیش زمینه را می توان با استفاده از Modifier.animateEnterExit از AnimatedContentScope در اسلاید به دست آورد. ( IC038e )
  • پارامترهای color و contentColor به عنوان colors برای سطح مواد تلویزیون ادغام شدند. ( Ie69eb )
  • RadioButton قابل ترکیب در مواد تلویزیونی را معرفی کرد. ( I08690 )
  • Switch قابل ترکیب در تلویزیون متریال معرفی شد. ( I45e29 )
  • Checkbox قابل ترکیب در تلویزیون متریال معرفی شد. ( I6a45a )
  • سطح غیر قابل تعامل در متریال تلویزیون معرفی شد. ( IC5f85 )
  • نشانه ها را درونی کنید. ( Ibff82 )

نسخه 1.0.0-alpha06

19 آوریل 2023

androidx.tv:tv-foundation:1.0.0-alpha06 و androidx.tv:tv-material:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 حاوی این commit ها است.

ویژگی های جدید

  • پیاده سازی های کارت Material 3 را بهینه سازی شده برای تلویزیون اضافه کنید.
    • کارت پایه ( I5b701 )
    • ClassicCard ، CompactCard و WideClassicCard ( I70471 )
    • StandardCardLayout و WideCardLayout ( I33fae )
  • افزودن مواد 3 اجرای دکمه بهینه سازی شده برای تلویزیون.
    • دکمه پایه ( I69c11 )
    • IconButton و OutlinedIconButton ( Ib504c )
    • WideButton ( I4cecf )

تغییرات API

  • CarouselSlide و slideCount در Carousel به CarouselItem and itemCount تغییر نام داد. ( Ie554c )
  • تغییر نام ContentTransforms forward و backward به StartToEnd و EndToStart تبدیل می شود. ( Ie554c )

رفع اشکال

  • هنگامی که روی NavigationDrawer تمرکز می کنید، دکمه DPAD را به عقب برگردانید. ( d654f4 )

نسخه 1.0.0-alpha05

22 مارس 2023

androidx.tv:tv-foundation:1.0.0-alpha05 و androidx.tv:tv-material:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 حاوی این commit ها است.

تغییرات API

  • معرفی کشو ناوبری جانبی قابل ترکیب در tv-material . برای یادگیری نحوه استفاده از این ترکیب، لطفا به نمونه ها مراجعه کنید. ( I12c08 )
  • معرفی Icon composable در TV Material 3 ( I72db9 )
  • معرفی Surface قابل ترکیب برای tv-material با نشانه هایی مانند Border، Glow و Scale، که می تواند برای ساخت اجزایی استفاده شود که به وضوح عنصر متمرکز روی صفحه تلویزیون را برجسته می کند. ( I4a6d8 )، ( Iceea1 )، ( Iee4d4 )، ( I79edf )، ( Icb376 )
  • CarouselItem به CarouselSlide به‌روزرسانی کنید تا با نام پارامتر slideCount در «Carousel» API مطابقت داشته باشد ( Ic4299 )

نسخه 1.0.0-alpha04

8 فوریه 2023

androidx.tv:tv-foundation:1.0.0-alpha04 و androidx.tv:tv-material:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 حاوی این commit ها است.

ویژگی های جدید

  • در ردیف‌ها، ستون‌ها و شبکه‌های تنبل، در صورت لزوم، برای اطمینان از اینکه کل آیتم در معرض دید قرار می‌گیرد، محور اصلی لغو می‌شود. ( 11d7e40 )
  • سفارشی سازی رنگ برگه ها را در حالت های مختلف اضافه کنید. ( 21b2925 )
  • Carousel اکنون انیمیشن های سفارشی را برای اسکرول دستی به جلو و عقب می پذیرد. ( 431494a )

تغییرات API

  • تغییر نام androidx.tv.material به androidx.tv.material3 و صاف کردن ساختار بسته تحت androidx.tv.material3 . ( I6ca52 )
  • نشانگر در ردیف نشانگر چرخ فلک اکنون یک شکاف است که می تواند توسط توسعه دهنده سفارشی شود. ( 268af2a )
  • focusableItem به immersiveListItem تغییر نام داد. کاربران باید به صورت دستی اصلاح کننده focusable() یا clickable() را به همراه immersiveListItem ( 5dd5078 ) ( b/263061052 ) اضافه کنند.
  • تغییر نام timeToDisplayMillis به autoScrollDurationMillis در جزء چرخ فلک. ( 431494a )
  • CarouselItem اکنون برای استفاده در Carousel 's محدود شده است. ( 431494a )
  • Carousel اکنون ContentTransforms به عنوان تعریف انیمیشن به جای EnterTransition و ExitTransitions می پذیرد. ( 431494a )
  • PinnableContainer api معرفی شد که توسط لیست های تنبل از طریق یک ترکیب محلی منتشر می شود که امکان پین کردن آیتم فعلی را فراهم می کند. ( Ib8881 , b/259274257 , b/195049010 )
  • ویژگی mainAxisItemSpacing به TvLazyListLayoutInfo و TvLazyGridLayoutInfo ( I37765 ) اضافه شد

رفع اشکال

  • ردیف برگه را به روز کنید تا مطمئن شوید که تعداد برگه های 0 یا 1 را به درستی مدیریت می کند. ( I44009 )، ( 1c01525 )، ( b/264018028 )
  • وقتی TvLazyColumn حاوی TvLazyRow خالی است، خرابی فوکوس جستجو را برطرف کنید. ( e11b4fe )، ( b/260299091 )
  • اصلاح کننده clickable اکنون با ImmersiveList کار می کند. ( 5dd5078 )، ( b/263061052 )
  • اکنون کلید برگشت کنترل می شود و برای خروج از چرخ فلک ویژه استفاده می شود. ( 84c138c )
  • چرخ فلک تمرکز خود را بر روی چند بار فشار دادن سریع کلید از دست نمی دهد. ( 799489f )
  • چرخ فلک تمرکز خود را روی فشار دادن طولانی کلیدها از دست نمی دهد. ( b2cf37e )
  • وقتی تعداد اسلاید چرخ فلک تغییر می کند، خرابی ها برطرف می شود. ( b261247 )

نسخه 1.0.0-alpha03

7 دسامبر 2022

androidx.tv:tv-foundation:1.0.0-alpha03 و androidx.tv:tv-material:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • TabRow اکنون به عنوان یک API آزمایشی در دسترس است که به کاربران امکان می دهد نوارهای پیمایش برتر را به برنامه های خود اضافه کنند. به طور کلی، دستگاه‌های تلویزیون انتظار دارند زمانی که عنوان برگه در ردیف برگه متمرکز شده است، برگه‌ها بارگیری شوند.
  • نشانگرهای خاص تلویزیون مانند نشانگر زیر خط و نشانگر قرص خارج از جعبه ارائه می شوند. کاربردهای نمونه را می توان در نمونه های تلویزیونی یافت

نسخه 1.0.0-alpha02

9 نوامبر 2022

androidx.tv:tv-foundation:1.0.0-alpha02 و androidx.tv:tv-material:1.0.0-alpha02 منتشر شد. نسخه 1.0.0-alpha02 حاوی این commit ها است.

رفع اشکال

  • بهبود عملکرد پیمایش هنگام پیمایش در مجموعه‌ای از TvLazyRows/TvLazyColumns با کاهش فضای جستجوی فوکوس. ( I723a3 )

نسخه 1.0.0-alpha01

5 اکتبر 2022

androidx.tv:tv-foundation:1.0.0-alpha01 و androidx.tv:tv-material:1.0.0-alpha01 منتشر شد. نسخه 1.0.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

آلفای اول شامل اجرای پیش‌نمایش اولیه مؤلفه‌ها برای موارد استفاده از تلویزیون است، از جمله:

  • افزودن اصلاح‌کننده scrollableWithPivot برای اینکه به محفظه‌های پیمایشی غیرتنبل مانند Row، Column، Grid اجازه داده شود تا محفظه پیمایش محتوا را بچرخاند تا مورد در فوکوس در همان موقعیت در صفحه تلویزیون باقی بماند.
  • افزودن ترکیب‌های TvLazyRow ، TvLazyColumn ، TvLazyHorizontalGrid ، TvLazyVerticalGrid برای اینکه محفظه پیمایش محتوا را بچرخاند تا مورد در فوکوس در همان موقعیت در صفحه تلویزیون باقی بماند.
  • افزودن چرخ فلک ویژه قابل ساخت برای تلویزیون که به کاربر امکان می دهد یک چرخ فلک بنر پیمایش خودکار ایجاد کند.
  • افزودن فهرست همه جانبه قابل ساخت برای تلویزیون که به کاربر امکان می دهد یک ردیف/ستون/شبکه ​​همه جانبه ایجاد کند که پس زمینه را بر اساس آیتم فهرست در فوکوس تغییر می دهد.

مسائل شناخته شده

  • وقتی ظرف پیمایش فوکوس پیدا می کند، عنصر اول به طور پیش فرض فوکوس نمی کند.
  • فوکوس بر روی یک TextField همیشه صفحه کلید را باز نمی کند یا می تواند مانع از انتقال فوکوس به قسمت های دیگر شود.
  • پیمایش عمودی در LazyColumn حاوی LazyRows عملکرد ضعیفی دارد.