package Ġcom . jid ogo on . pdf renderer view Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . animation . Alpha Animation Ċ import Ġandroid . view . animation . Linear Interpolator Ċ import Ġkotlinx . android . synt hetic . main . list _ item _ lib _ pdf _ page . view .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġj id ogo on Ġon Ġ 2 0 1 8 . Ġ 3 . Ġ 1 6 .. Ċ Ġ*/ Ċ internal Ġclass ĠPdf View Adapter ( private Ġval Ġrenderer : ĠPdf Renderer Core ): ĠRecyclerView . Adapter < Pdf View Adapter . Pdf Page ViewHolder >() Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPdf Page ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . list _ item _ lib _ pdf _ page , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPdf Page ViewHolder ( v ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrenderer . getPage Count () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPdf Page ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠPdf Page ViewHolder ( item View : ĠView ): ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( item View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpdf Page View . setImage Bitmap ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrenderer . render Page ( adapter Position ) Ġ{ Ġbitmap : ĠBitmap ?, Ġpage No : ĠInt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page No Ġ!= Ġadapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ render Page ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpdf Page View . layout Params Ġ= Ġpdf Page View . layout Params . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġ( pdf Page View . width . toFloat () Ġ/ Ġ(( bitmap . width . toFloat () Ġ/ Ġbitmap . height . toFloat ())) ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpdf Page View . setImage Bitmap ( bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpdf Page View . animation Ġ= ĠAlpha Animation ( 0 F , Ġ 1 F ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinterpol ator Ġ= ĠLinear Interpolator () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 3 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }