package Ġyet . ui . widget . grid Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . widget . GridView Ċ import Ġyet . theme . Colors ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġent ao yang @ 1 6 3 . com Ġon Ġ 2 0 1 8 - 0 3 - 1 9 . Ċ Ġ*/ Ċ open Ġclass ĠLine GridView ( context : ĠContext ) Ġ: ĠGrid View ( context ) Ġ{ ĊĊ ĉ var Ġenable Line Ġ= Ġfalse Ċ ĉ // px Ċ ĉ var Ġline Bottom Ġ= Ġtrue Ċ ĉ var Ġline Top Ġ= Ġfalse Ċ ĉ var Ġline Right Ġ= Ġfalse Ċ ĉ var Ġline Left Ġ= Ġfalse Ċ ĉ var Ġline Color Ġ= ĠColors . Line Gray Ċ ĉ var ĠlineWidth Ġ= Ġ 1 Ċ ĉ private Ġval Ġlocal Paint Ġ= ĠPaint () ĊĊĊ ĉ override Ġfun Ġdispatch Draw ( canvas : ĠCanvas ) Ġ{ Ċĉ ĉ super . dispatch Draw ( canvas ) Ċĉ ĉ if Ġ(! enable Line ) Ġ{ Ċĉĉ ĉ return Ċĉ ĉ } Ċĉ ĉ val Ġchild Count Ġ= Ġthis . child Count Ċĉ ĉ if Ġ( child Count Ġ<= Ġ 0 ) Ġ{ Ċĉĉ ĉ return Ċĉ ĉ } Ċĉ ĉ local Paint . style Ġ= ĠPaint . Style . ST RO KE Ġ// çĶ» ç¬Ķ å®ŀ å¿ĥ Ċĉ ĉ local Paint . color Ġ= Ġline Color // çĶ» ç¬Ķ é¢ľèī² Ċĉ ĉ local Paint . stroke Width Ġ= ĠlineWidth . toFloat () Ċĉ ĉ val Ġfirst View Ġ= Ġget Child At ( 0 ) Ġ?: Ġreturn Ċĉ ĉ val Ġcol Count Ġ= Ġthis . num Columns Ċĉ ĉ for Ġ( i Ġin Ġ 0 Ġuntil Ġchild Count ) Ġ{ Ċĉĉ ĉ val Ġcell View Ġ= Ġget Child At ( i ) Ċĉĉ ĉ // çĶ» item ä¸ĭ è¾¹ åĪĨ åī² çº¿ Ċĉĉ ĉ canvas . draw Line ( cell View . left . toFloat (), Ġcell View . bottom . toFloat (), Ġcell View . right . toFloat (), Ġcell View . bottom . toFloat (), Ġlocal Paint ) Ċĉĉ ĉ // çĶ» item åı³ è¾¹ åĪĨ åī² çº¿ Ċĉĉ ĉ if Ġ(( i Ġ+ Ġ 1 ) Ġ% Ġcol Count Ġ!= Ġ 0 ) Ġ{ Ċĉĉĉ ĉ canvas . draw Line ( cell View . right . toFloat (), Ġcell View . top . toFloat (), Ġcell View . right . toFloat (), Ġcell View . bottom . toFloat (), Ġlocal Paint ) Ċĉĉ ĉ } Ċĉ ĉ } Ċ ĉ } ĊĊ Ċ }