package Ġorg . trust note . wallet . widget . keyboard Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . input method service . Keyboard Ċ import Ġandroid . input method service . Keyboard View Ċ import Ġandroid . util . Attribute Set Ċ import Ġorg . trust note . wallet . T App Ċ import Ġorg . trust note . wallet . R Ċ Ċ class ĠCustom Keyboard View ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: ĠKeyboard View ( context , Ġattrs ) Ġ{ Ċ Ċ // ĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsuper . on Draw ( canvas ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġpaint Ġ= ĠPaint () Ċ // Ċ // ĠĠĠĠĠĠĠ Ġpaint . text Size Ġ= ĠT App . resources . get Dimension Pixel Size ( R . dim en . keyboard _ text size ). toFloat () Ċ // ĠĠĠĠĠĠĠ Ġpaint . type face Ġ= ĠType face . DEFAULT _ BOLD Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġkeys Ġ= Ġkeyboard . keys Ċ // Ċ // ĠĠĠĠĠĠĠ Ġfor Ġ( key Ġin Ġkeys ) Ġ{ Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( key . label Ġ!= Ġnull ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Label Ġ= Ġkey . label . toString (); Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Text ( key Label , Ġkey . x . toFloat () Ġ+ Ġkey . width , Ġkey . y . toFloat () Ġ+ Ġkey . height , Ġpaint ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( key . icon Ġ!= Ġnull ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey . icon . setBounds ( key . x , Ġkey . y , Ġkey . x Ġ+ Ġkey . width , Ġkey . y Ġ+ Ġkey . height ); Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey . icon . draw ( canvas ); Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ} Ċ } Ċ Ċ // TODO : ĠUI Ġdesign Ġwill Ġsupport Ġbelow Ġresource Ġsoon . Ċ // m Target View . setOn Touch Listener ( object Ġ: ĠView . On Touch Listener Ġ{ Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġon Touch ( v : ĠView , Ġevent : ĠMotion Event ): ĠBoolean Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġ// ĠD ob bi amo Ġinter c ett are Ġl ' evento Ġon Touch Ġin Ġmodo Ġda Ġap ri re Ġla Ċ // ĠĠĠĠĠĠĠ Ġ// Ġno stra Ġt ast iera Ġe Ġpre ven ire Ġche Ġveng a Ġa per ta Ġque lla Ġdi Ċ // ĠĠĠĠĠĠĠ Ġ// ĠAndroid Ċ // ĠĠĠĠĠĠĠ Ġshow Keyboard With Animation () Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġtrue Ċ // ĠĠĠ Ġ} Ċ // }) Ċ Ċ // m Keyboard View . set Keyboard ( m Keyboard ) Ċ Ċ // key _ selector . xml : Ċ // <? xml Ġversion =" 1 . 0 " Ġencoding =" utf - 8 "?> Ċ // < selector Ġxmlns : android =" http :// schemas . android . com / apk / res / android "> Ċ // < item Ċ // android : state _ check able =" true " Ċ // android : state _ pressed =" false " Ċ // android : state _ checked =" false " Ċ // android : drawable ="@ drawable / key _ background _ check able " Ġ/> Ċ // < item Ċ // android : state _ check able =" true " Ċ // android : state _ pressed =" true " Ċ // android : state _ checked =" false " Ċ // android : drawable ="@ drawable / key _ background _ check able _ pressed " Ġ/> Ċ // < item Ċ // android : state _ check able =" true " Ċ // android : state _ checked =" true " Ċ // android : state _ pressed =" false " Ċ // android : drawable ="@ drawable / key _ background _ checked "/> Ċ // < item Ċ // android : state _ check able =" true " Ċ // android : state _ checked =" true " Ċ // android : state _ pressed =" true " Ċ // android : drawable ="@ drawable / key _ background _ checked _ pressed "/> Ċ // < item Ċ // android : state _ check able =" false " Ċ // android : state _ checked =" false " Ċ // android : state _ pressed =" true " Ċ // android : drawable ="@ drawable / key _ background _ pressed "/> Ċ // < item Ċ // android : state _ check able =" false " Ċ // android : state _ checked =" false " Ċ // android : state _ pressed =" false " Ċ // android : drawable ="@ drawable / key _ background "/> Ċ // Ċ // </ selector > Ċ // Ċ // and Ġin Ġthe Ġxml Ġfile Ġwhich Ġextends ĠKeyboard View Ġclass , Ġput Ġandroid : key Background ="@ drawable / key _ selector " Ġas Ġfollows : Ċ // Ċ // <? xml Ġversion =" 1 . 0 " Ġencoding =" utf - 8 "?> Ċ // < com . keyboard . Latin Keyboard View Ġxmlns : android =" http :// schemas . android . com / apk / res / android " Ċ // android : id ="@ + id / keyboard " Ċ // android : layout _ width =" fill _ parent " Ċ // android : layout _ height =" wrap _ content " Ċ // android : layout _ align Parent Bottom =" true " Ċ // android : key Background ="@ drawable / key _ selector " Ċ // android : key TextColor ="@ android : color / white " Ġ/> Ċ