@@ -38,6 +38,8 @@ const val DEFAULT_OUTSIDE_LABELS_MARGIN = 28f /* dp */
3838const val DEFAULT_CENTER_LABEL = " "
3939const val DEFAULT_SHOULD_CENTER_PIE = true
4040@ColorInt const val DEFAULT_LABELS_COLOR = Color .WHITE
41+ // If null, the colors of the icon itself is used
42+ @ColorInt val defaultLabelIconsTint: Int? = null
4143val defaultGapPosition = MIDDLE
4244val defaultGradientType = RADIAL
4345val defaultDrawDirection = CLOCKWISE
@@ -220,6 +222,14 @@ class PieChart(context: Context, attrs: AttributeSet) : View(context, attrs) {
220222 field = color
221223 invalidate()
222224 }
225+ /* *
226+ * Is overridden by color of the slice if it is assigned a value other than *null*
227+ */
228+ var labelIconsTint = defaultLabelIconsTint
229+ set(color) {
230+ field = color
231+ invalidate()
232+ }
223233 var slicesPointer = defaultSlicesPointer
224234 set(pointer) {
225235 field = pointer
@@ -285,6 +295,8 @@ class PieChart(context: Context, attrs: AttributeSet) : View(context, attrs) {
285295 labelsSize = it.getDimension(R .styleable.PieChart_labelsSize , spToPx(DEFAULT_LABELS_SIZE ))
286296 labelOffset = it.getFloat(R .styleable.PieChart_labelOffset , DEFAULT_LABEL_OFFSET )
287297 labelsColor = it.getColor(R .styleable.PieChart_labelsColor , DEFAULT_LABELS_COLOR )
298+ val iconTint = it.getColor(R .styleable.PieChart_labelIconsTint , /* no value or @null */ - 1 )
299+ if (iconTint == - 1 ) labelIconsTint = null
288300 val fontId = it.getResourceId(R .styleable.PieChart_labelsFont , - 1 )
289301 labelsFont = if (fontId == - 1 ) defaultLabelsFont else ResourcesCompat .getFont(context, fontId)!!
290302 labelIconsHeight = it.getDimension(R .styleable.PieChart_labelIconsHeight , spToPx(DEFAULT_LABEL_ICONS_HEIGHT ))
0 commit comments