Button color: gray default, green pressed via setBackgroundColor

This commit is contained in:
eddy 2026-07-29 20:42:03 +02:00
commit 5fb67fdcf0

View file

@ -3,7 +3,7 @@ package com.eddy.atomrelay
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.graphics.drawable.GradientDrawable import android.graphics.Color
import android.os.Bundle import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
@ -147,25 +147,20 @@ class MainActivity : AppCompatActivity(), BleCallbacks {
private fun setupRelayButton() { private fun setupRelayButton() {
relay1Button.setOnClickListener(null) relay1Button.setOnClickListener(null)
loadButtonLabel(relay1Button, PrefsHelper.PREF_LABEL1, R.string.button_hold) loadButtonLabel(relay1Button, PrefsHelper.PREF_LABEL1, R.string.button_hold)
val a = Color.rgb(0xE0, 0xE0, 0xE0)
val defaultBg = GradientDrawable().apply { val b = ContextCompat.getColor(this, R.color.colorAccent)
setColor(ContextCompat.getColor(this@MainActivity, R.color.colorPrimary)) relay1Button.backgroundTintList = null
cornerRadius = 8f * resources.displayMetrics.density relay1Button.setBackgroundColor(a)
}
val pressedBg = GradientDrawable().apply {
setColor(ContextCompat.getColor(this@MainActivity, R.color.colorAccent))
cornerRadius = 8f * resources.displayMetrics.density
}
relay1Button.setOnTouchListener { _, event -> relay1Button.setOnTouchListener { _, event ->
when (event.action) { when (event.action) {
MotionEvent.ACTION_DOWN -> { MotionEvent.ACTION_DOWN -> {
manager.sendRelayCommand(0x01.toByte()) manager.sendRelayCommand(0x01.toByte())
relay1Button.background = pressedBg relay1Button.setBackgroundColor(b)
true true
} }
MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> { MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> {
manager.sendRelayCommand(0x00.toByte()) manager.sendRelayCommand(0x00.toByte())
relay1Button.background = defaultBg relay1Button.setBackgroundColor(a)
true true
} }
else -> false else -> false
@ -176,25 +171,20 @@ class MainActivity : AppCompatActivity(), BleCallbacks {
private fun setupRelay2Button() { private fun setupRelay2Button() {
relay2Button.setOnClickListener(null) relay2Button.setOnClickListener(null)
loadButtonLabel(relay2Button, PrefsHelper.PREF_LABEL2, R.string.button_hold) loadButtonLabel(relay2Button, PrefsHelper.PREF_LABEL2, R.string.button_hold)
val a = Color.rgb(0xE0, 0xE0, 0xE0)
val defaultBg = GradientDrawable().apply { val b = ContextCompat.getColor(this, R.color.colorAccent)
setColor(ContextCompat.getColor(this@MainActivity, R.color.colorPrimary)) relay2Button.backgroundTintList = null
cornerRadius = 8f * resources.displayMetrics.density relay2Button.setBackgroundColor(a)
}
val pressedBg = GradientDrawable().apply {
setColor(ContextCompat.getColor(this@MainActivity, R.color.colorAccent))
cornerRadius = 8f * resources.displayMetrics.density
}
relay2Button.setOnTouchListener { _, event -> relay2Button.setOnTouchListener { _, event ->
when (event.action) { when (event.action) {
MotionEvent.ACTION_DOWN -> { MotionEvent.ACTION_DOWN -> {
manager.sendRelayCommand(0x02.toByte()) manager.sendRelayCommand(0x02.toByte())
relay2Button.background = pressedBg relay2Button.setBackgroundColor(b)
true true
} }
MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> { MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> {
manager.sendRelayCommand(0x03.toByte()) manager.sendRelayCommand(0x03.toByte())
relay2Button.background = defaultBg relay2Button.setBackgroundColor(a)
true true
} }
else -> false else -> false