From 037db0f7bb131b1bbcbc2a118865e1cdb09fde06 Mon Sep 17 00:00:00 2001 From: Taranov Dmitriy Date: Mon, 2 Feb 2026 23:06:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=97:=20Custom=20View?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/otus/homework/customview/Expense.kt | 19 +++ .../otus/homework/customview/MainActivity.kt | 10 ++ .../otus/homework/customview/PieChartView.kt | 113 ++++++++++++++++++ app/src/main/res/layout/activity_main.xml | 16 +-- art/Screenshot_20260202_230456.png | Bin 0 -> 74295 bytes 5 files changed, 150 insertions(+), 8 deletions(-) create mode 100644 app/src/main/java/otus/homework/customview/Expense.kt create mode 100644 app/src/main/java/otus/homework/customview/PieChartView.kt create mode 100644 art/Screenshot_20260202_230456.png diff --git a/app/src/main/java/otus/homework/customview/Expense.kt b/app/src/main/java/otus/homework/customview/Expense.kt new file mode 100644 index 00000000..52685ba2 --- /dev/null +++ b/app/src/main/java/otus/homework/customview/Expense.kt @@ -0,0 +1,19 @@ +package otus.homework.customview + +import android.content.Context +import com.google.gson.Gson + +data class Expense( + val id: Int, + val name: String, + val amount: Float, + val category: String, + val time: Long +) + +fun Context.loadExpenses(): List { + val input = resources.openRawResource(R.raw.payload) + val json = input.bufferedReader().use { it.readText() } + return Gson().fromJson(json, Array::class.java).toList() +} + diff --git a/app/src/main/java/otus/homework/customview/MainActivity.kt b/app/src/main/java/otus/homework/customview/MainActivity.kt index 78cb9448..b7875b98 100644 --- a/app/src/main/java/otus/homework/customview/MainActivity.kt +++ b/app/src/main/java/otus/homework/customview/MainActivity.kt @@ -2,10 +2,20 @@ package otus.homework.customview import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + + val pie = findViewById(R.id.pieChart) + pie.setExpenses(loadExpenses()) + + pie.listener = object : PieChartView.OnSliceClickListener { + override fun onCategoryClick(category: String) { + Toast.makeText(this@MainActivity, category, Toast.LENGTH_SHORT).show() + } + } } } \ No newline at end of file diff --git a/app/src/main/java/otus/homework/customview/PieChartView.kt b/app/src/main/java/otus/homework/customview/PieChartView.kt new file mode 100644 index 00000000..91051c74 --- /dev/null +++ b/app/src/main/java/otus/homework/customview/PieChartView.kt @@ -0,0 +1,113 @@ +package otus.homework.customview + +import android.content.Context +import android.graphics.Canvas +import android.graphics.Color +import android.graphics.Paint +import android.graphics.RectF +import android.os.Bundle +import android.os.Parcelable +import android.util.AttributeSet +import android.view.MotionEvent +import android.view.View +import kotlin.math.atan2 +import kotlin.math.min + +class PieChartView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null +) : View(context, attrs) { + + interface OnSliceClickListener { + fun onCategoryClick(category: String) + } + + var listener: OnSliceClickListener? = null + + private val paint = Paint(Paint.ANTI_ALIAS_FLAG) + private val rect = RectF() + + private val colors = listOf( + Color.RED, Color.BLUE, Color.GREEN, Color.CYAN, Color.MAGENTA, + Color.YELLOW, Color.DKGRAY, Color.GRAY, Color.LTGRAY, Color.BLACK + ) + + private var data: Map = emptyMap() + private var angles = mutableListOf>() + + fun setExpenses(expenses: List) { + data = expenses.groupBy { it.category } + .mapValues { it.value.sumOf { e -> e.amount.toDouble() }.toFloat() } + calculateAngles() + invalidate() + } + + private fun calculateAngles() { + angles.clear() + val total = data.values.sum() + data.forEach { (cat, value) -> + angles += cat to (value / total * 360f) + } + } + + // --- onMeasure (учтены все MeasureSpec) --- + override fun onMeasure(w: Int, h: Int) { + val size = min( + MeasureSpec.getSize(w), + MeasureSpec.getSize(h) + ) + + val finalSize = when { + MeasureSpec.getMode(w) == MeasureSpec.EXACTLY -> MeasureSpec.getSize(w) + MeasureSpec.getMode(h) == MeasureSpec.EXACTLY -> MeasureSpec.getSize(h) + else -> size + } + setMeasuredDimension(finalSize, finalSize) + } + + override fun onDraw(canvas: Canvas) { + var startAngle = -90f + rect.set(0f, 0f, width.toFloat(), height.toFloat()) + + angles.forEachIndexed { i, (cat, sweep) -> + paint.color = colors[i % colors.size] + canvas.drawArc(rect, startAngle, sweep, true, paint) + startAngle += sweep + } + } + + // --- обработка клика --- + override fun onTouchEvent(e: MotionEvent): Boolean { + if (e.action != MotionEvent.ACTION_DOWN) return true + + val cx = width / 2f + val cy = height / 2f + val angle = (Math.toDegrees( + atan2(e.y - cy, e.x - cx).toDouble() + ) + 360 + 90) % 360 + + var acc = 0f + for ((cat, sweep) in angles) { + acc += sweep + if (angle <= acc) { + listener?.onCategoryClick(cat) + break + } + } + return true + } + + // --- сохранение состояния --- + override fun onSaveInstanceState(): Parcelable = + Bundle().apply { + putParcelable("super", super.onSaveInstanceState()) + putSerializable("data", HashMap(data)) + } + + override fun onRestoreInstanceState(state: Parcelable) { + val b = state as Bundle + super.onRestoreInstanceState(b.getParcelable("super")) + data = (b.getSerializable("data") as HashMap) + calculateAngles() + } +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 79ae6993..db225aad 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -7,13 +7,13 @@ android:layout_height="match_parent" tools:context=".MainActivity"> - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" /> - \ No newline at end of file + diff --git a/art/Screenshot_20260202_230456.png b/art/Screenshot_20260202_230456.png new file mode 100644 index 0000000000000000000000000000000000000000..43e0abd8102a38b51eea52c6313252577cb918c1 GIT binary patch literal 74295 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%0A>Nrj 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