Skip to content

Commit 02e2580

Browse files
committed
Added popupText attribute
1 parent 89951de commit 02e2580

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

app/src/main/res/layout/activity_main.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
xmlns:tools="http://schemas.android.com/tools"
44
android:layout_width="match_parent"
55
android:layout_height="match_parent"
6+
xmlns:app="http://schemas.android.com/apk/res-auto"
67
tools:context=".MainActivity">
78

89
<com.faskn.lib.ClickablePieChart
910
android:id="@+id/chart"
1011
android:layout_width="250dp"
12+
app:popupText="ziyaret"
1113
android:layout_centerInParent="true"
1214
android:layout_height="250dp" />
1315
</RelativeLayout>

lib/src/main/java/com/faskn/lib/ClickablePieChart.kt

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import android.graphics.Color
1212
import android.graphics.Paint
1313
import android.graphics.RectF
1414
import android.util.AttributeSet
15-
import android.util.Log
1615
import android.view.Gravity
1716
import android.view.LayoutInflater
1817
import android.view.MotionEvent
@@ -44,13 +43,29 @@ class ClickablePieChart @JvmOverloads constructor(
4443
private var clickListener: ((String, Float) -> Unit)? = null
4544
private var pointsArray = arrayListOf<Pair<Float, Float>>()
4645

46+
// Attributes
47+
private lateinit var popupText: String
48+
4749
init {
4850
slicePaint.isAntiAlias = true
4951
slicePaint.isDither = true
5052
slicePaint.style = Paint.Style.FILL
5153

5254
centerPaint.color = Color.WHITE
5355
centerPaint.style = Paint.Style.FILL
56+
57+
initAttributes(attrs)
58+
}
59+
60+
private fun initAttributes(attrs: AttributeSet?) {
61+
val typedArray =
62+
context.theme.obtainStyledAttributes(attrs, R.styleable.ClickablePieChart, 0, 0)
63+
64+
try {
65+
popupText = typedArray.getString(R.styleable.ClickablePieChart_popupText)!!
66+
} finally {
67+
typedArray.recycle()
68+
}
5469
}
5570

5671
private fun scale(): FloatArray {
@@ -138,7 +153,7 @@ class ClickablePieChart @JvmOverloads constructor(
138153
var center = pointsArray[index].toList().average()
139154
val halfRadius = rectF!!.centerX()
140155

141-
popupView.findViewById<TextView>(R.id.textViewPopupText).text = "${center.toInt()} ziyaret"
156+
popupView.findViewById<TextView>(R.id.textViewPopupText).text = "${center.toInt()} $popupText"
142157
ImageViewCompat.setImageTintList(
143158
popupView.findViewById<ImageView>(R.id.imageViewPopupCircleIndicator),
144159
ColorStateList.valueOf(ContextCompat.getColor(context, sliceColors[index]))

lib/src/main/res/values/attrs.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<declare-styleable name="ClickablePieChart">
4+
<attr name="popupText" format="string"/>
5+
</declare-styleable>
6+
</resources>

0 commit comments

Comments
 (0)