package Ġcom . hl . utils . span Ċ Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . graphics . drawable . Drawable ĊĊ Ċ /** Ċ Ġ* Ġ@ author Ġ Ġ å¼ł ç£ Ĭ Ġ Ġon ĠĠ 2 0 2 2 / 0 6 / 1 6 Ġat Ġ 1 7 : 4 5 Ċ Ġ* ĠEmail : Ġ 9 1 3 3 0 5 1 6 0 @ qq . com Ċ Ġ*/ ĊĊ Ċ /** Ċ Ġ* ĠæĶ¯æĮģ è®¾ç½® åĽ¾çīĩ å·¦ åı³ éĹ´ è·Ŀ çļĦ ĠImage Span Ċ Ġ* Ġ ç»§æī¿ ä¸İ å±ħ ä¸ŃçļĦ image Span Ċ Ġ* Ġ æĪĳ ä¸ĢèĪ¬ çĶ¨ è¿Ļä¸ª ï¼Į åĬŁèĥ½ æĽ´å¤ļ Ġ Ġ å·²ç»ı çĶ¨äºİ æī©å±ķ Span ä¸Ń Ċ Ġ*/ Ċ class ĠMiddle IM argin Image Span Ġ@ Jvm Over loads Ġconstructor ( Ċ ĉ d : ĠDrawable ?, Ċ ĉ vertical Alignment : ĠInt , Ċ ĉ margin Left : ĠInt , Ċ ĉ margin Right : ĠInt , Ċ ĉ offset Y : ĠInt Ġ= Ġ 0 Ċ ) Ġ: Ċ ĉ Align Middle Image Span ( d !! , Ġvertical Alignment ) Ġ{ Ċ ĉ private Ġvar Ġm Span Margin Left Ġ= Ġ 0 Ċ ĉ private Ġvar Ġm Span Margin Right Ġ= Ġ 0 Ċ ĉ private Ġvar Ġm Offset Y Ġ= Ġ 0 ĊĊ ĉ override Ġfun Ġget Size ( paint : ĠPaint , Ġtext : ĠCharSequence ?, Ġstart : ĠInt , Ġend : ĠInt , Ġfm : ĠPaint . Font Metrics Int ?): ĠInt Ġ{ Ċĉ ĉ return Ġif Ġ( m Span Margin Left Ġ!= Ġ 0 Ġ|| Ġm Span Margin Right Ġ!= Ġ 0 ) Ġ{ Ċĉĉ ĉ super . getSize ( paint , Ġtext , Ġstart , Ġend , Ġfm ) Ċĉĉ ĉ val Ġd Ġ= Ġdrawable Ċĉĉ ĉ d . intrinsic Width Ġ+ Ġm Span Margin Left Ġ+ Ġm Span Margin Right Ċĉ ĉ } Ġelse Ġ{ Ċĉĉ ĉ super . getSize ( paint , Ġtext , Ġstart , Ġend , Ġfm ) Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ override Ġfun Ġdraw ( Ċĉ ĉ canvas : ĠCanvas , Ċĉ ĉ text : ĠCharSequence ?, Ċĉ ĉ start : ĠInt , Ċĉ ĉ end : ĠInt , Ċĉ ĉ x : ĠFloat , Ċĉ ĉ top : ĠInt , Ċĉ ĉ y : ĠInt , Ċĉ ĉ bottom : ĠInt , Ċĉ ĉ paint : ĠPaint Ċ ĉ ) Ġ{ Ċĉ ĉ canvas . save () Ċĉ ĉ canvas . translate ( 0 F , Ġm Offset Y . toFloat ()) Ċĉ ĉ // ĠmarginRight ä¸į çĶ¨ ä¸ĵ éĹ¨ å¤ĦçĲĨ ï¼Į åıª éĿ ł getSize () ä¸Ń æĶ¹åıĺ åį³åı¯ Ċĉ ĉ super . draw ( canvas , Ġtext , Ġstart , Ġend , Ġx Ġ+ Ġm Span Margin Left , Ġtop , Ġy , Ġbottom , Ġpaint ) Ċĉ ĉ canvas . restore () Ċ ĉ } ĊĊ ĉ init Ġ{ Ċĉ ĉ m Span Margin Left Ġ= ĠmarginLeft Ċĉ ĉ m Span Margin Right Ġ= ĠmarginRight Ċĉ ĉ m Offset Y Ġ= Ġoffset Y Ċ ĉ } Ċ }