package Ġcom . example . round corners ample Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Outline Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View Outline Provider Ċ Ċ class ĠRound Outline Provider Ġ: ĠView Outline Provider () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcorner Radius : ĠFloat Ġ= Ġ 8 . 0 f ĊĊĠĠĠ Ġoverride Ġfun Ġget Outline ( view : ĠView , Ġoutline : ĠOut line ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmargin Ġ= Ġdp 2 Px ( corner Radius , Ġview . context ). toInt () ĊĠĠĠĠĠĠĠ Ġoutline . set Round Rect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmargin , Ġmargin , Ġ( view . width Ġ- Ġmargin ), Ġ( view . height Ġ- Ġmargin ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdp 2 Px ( 3 0 f , Ġview . context ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġview . clip To Outline Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdp 2 Px ( dp : ĠFloat , Ġcontext : ĠContext ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmetrics Ġ= Ġcontext . resources . display Metrics ĊĠĠĠĠĠĠĠ Ġreturn Ġdp Ġ* Ġmetrics . density ĊĠĠĠ Ġ} Ċ Ċ }