package Ġcom . ste le ot . jet pack compose . playground . compose . foundation Ċ Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . gest ures . animate Scroll By Ċ import Ġandroidx . compose . foundation . gest ures . scroll By Ċ import Ġandroidx . compose . foundation . horizontal Scroll Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . size Ċ import Ġandroidx . compose . foundation . remember Scroll State Ċ import Ġandroidx . compose . material . Button Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Coroutine Scope Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . ste le ot . jet pack compose . playground . R Ċ import Ġcom . ste le ot . jet pack compose . playground . compose . reusable . Default Sca ffold Ċ import Ġcom . ste le ot . jet pack compose . playground . navigation . Foundation Nav Routes Ċ import Ġcom . ste le ot . jet pack compose . playground . theme . colors Ċ import Ġkotlinx . coroutines . launch Ċ Ċ private Ġconst Ġval ĠUrl Ġ= Ġ" foundation / Scroller Screen . kt " Ċ Ċ @ Composable Ċ fun ĠSc roller Screen () Ġ{ ĊĠĠĠ ĠDefault Sca ffold ( ĊĠĠĠĠĠĠĠ Ġtitle Ġ= ĠFoundation Nav Routes . Scroller , ĊĠĠĠĠĠĠĠ Ġlink Ġ= ĠUrl , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠControl led Scroll able Row Example () ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠControl led Scroll able Row Example () Ġ{ ĊĠĠĠ Ġval Ġscroll State Ġ= Ġremember Scroll State () ĊĠĠĠ Ġval Ġscope Ġ= Ġremember Coroutine Scope () ĊĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠ ĠRow ( Modifier . horizontal Scroll ( scroll State )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( 1 0 0 0 ) Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSquare ( index ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRow ( vertical Alignment Ġ= ĠAlignment . Center Vert ically ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( string Resource ( id Ġ= ĠR . string . scroll )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope . launch Ġ{ Ġscroll State . scrollTo ( scroll State . value Ġ- Ġ 1 0 0 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ("< - ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope . launch Ġ{ Ġscroll State . scroll By ( 1 0 0 0 0 f ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ("-- -> ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRow ( vertical Alignment Ġ= ĠAlignment . Center Vert ically ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( string Resource ( id Ġ= ĠR . string . smooth _ scroll )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope . launch Ġ{ Ġscroll State . animate Scroll To ( scroll State . value Ġ- Ġ 1 0 0 0 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ("< - ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope . launch Ġ{ Ġscroll State . animate Scroll By ( 1 0 0 0 0 f ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ("-- -> ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠSquare ( index : ĠInt ) Ġ{ ĊĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 7 5 . dp , Ġ 2 0 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( colors [ index Ġ% Ġcolors . size ]), ĊĠĠĠĠĠĠĠ Ġcontent Alignment Ġ= ĠAlignment . Center ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( index . toString ()) ĊĠĠĠ Ġ} Ċ } Ċ