From 8721eb1820da64ef694b93dc5e01ac34b47bb73d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D1=83=D1=80=D0=B0=D1=82=20=D0=94=D0=B6=D0=B0=D1=80?= =?UTF-8?q?=D0=BC=D0=BE=D0=BA=D0=BE=D0=B2?= Date: Sun, 17 May 2026 03:17:48 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?/=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReadMe.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 ReadMe.md diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..5dde7f9 --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,83 @@ +### **Color Picker** + +Инструмент для работы с цветами. +Получение значений RGB/HEX. + +```kt +package com.example.colorpicker + +import android.content.ClipData +import android.content.ClipboardManager +import android.content.Context +import android.os.Bundle +import android.widget.Toast +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.* +import androidx.compose.material3.* +import androidx.compose.runtime.* +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.unit.dp + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + setContent { + ColorPickerApp() + } + } +} + +@Composable +fun ColorPickerApp() { + var r by remember { mutableStateOf(128f) } + var g by remember { mutableStateOf(128f) } + var b by remember { mutableStateOf(128f) } + + val context = LocalContext.current + + val color = Color(r / 255f, g / 255f, b / 255f) + val hex = "#%02X%02X%02X".format(r.toInt(), g.toInt(), b.toInt()) + + Column(modifier = Modifier.padding(16.dp)) { + + Text("R: ${r.toInt()}") + Slider(value = r, onValueChange = { r = it }, valueRange = 0f..255f) + + Text("G: ${g.toInt()}") + Slider(value = g, onValueChange = { g = it }, valueRange = 0f..255f) + + Text("B: ${b.toInt()}") + Slider(value = b, onValueChange = { b = it }, valueRange = 0f..255f) + + Spacer(modifier = Modifier.height(16.dp)) + + Box( + modifier = Modifier + .fillMaxWidth() + .height(150.dp) + .background(color) + ) + + Spacer(modifier = Modifier.height(16.dp)) + + Text("HEX: $hex") + + Spacer(modifier = Modifier.height(8.dp)) + + Button(onClick = { + val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager + val clip = ClipData.newPlainText("color", hex) + clipboard.setPrimaryClip(clip) + + Toast.makeText(context, "Скопировано: $hex", Toast.LENGTH_SHORT).show() + }) { + Text("Copy HEX") + } + } +} +``` \ No newline at end of file