Refine LR Touch on Android

This commit is contained in:
Florian Märkl 2021-01-15 19:16:54 +01:00
parent 5699c06dd8
commit 35130b08b7
No known key found for this signature in database
GPG key ID: 125BC8A5A6A1E857
2 changed files with 20 additions and 11 deletions

View file

@ -6,6 +6,7 @@ import android.content.Context
import android.graphics.Canvas
import android.graphics.drawable.Drawable
import android.util.AttributeSet
import android.util.Log
import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
@ -75,14 +76,16 @@ class ButtonView @JvmOverloads constructor(
override fun onTouchEvent(event: MotionEvent): Boolean
{
when(event.action)
when(event.actionMasked)
{
MotionEvent.ACTION_DOWN -> {
if(bestFittingTouchView(event.x, event.y) != this)
MotionEvent.ACTION_DOWN, MotionEvent.ACTION_POINTER_DOWN -> {
if(bestFittingTouchView(event.getX(event.actionIndex), event.getY(event.actionIndex)) != this)
return false
buttonPressed = true
}
MotionEvent.ACTION_UP -> buttonPressed = false
MotionEvent.ACTION_UP, MotionEvent.ACTION_POINTER_UP -> {
buttonPressed = false
}
}
return true
}

View file

@ -173,9 +173,12 @@
<com.metallic.chiaki.touchcontrols.ButtonView
android:id="@+id/l2ButtonView"
android:layout_width="80dp"
android:layout_width="88dp"
android:layout_height="80dp"
android:padding="8dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingRight="8dp"
android:paddingLeft="16dp"
app:drawableIdle="@drawable/control_button_l2"
app:drawablePressed="@drawable/control_button_l2_pressed"
app:layout_constraintLeft_toLeftOf="parent"
@ -186,8 +189,8 @@
android:layout_width="80dp"
android:layout_height="80dp"
android:padding="8dp"
android:layout_marginTop="34dp"
android:layout_marginLeft="34dp"
android:layout_marginTop="32dp"
android:layout_marginLeft="40dp"
app:drawableIdle="@drawable/control_button_l1"
app:drawablePressed="@drawable/control_button_l1_pressed"
app:layout_constraintLeft_toLeftOf="parent"
@ -206,9 +209,12 @@
<com.metallic.chiaki.touchcontrols.ButtonView
android:id="@+id/r2ButtonView"
android:layout_width="80dp"
android:layout_width="88dp"
android:layout_height="80dp"
android:padding="8dp"
android:paddingTop="8dp"
android:paddingRight="16dp"
android:paddingLeft="8dp"
android:paddingBottom="8dp"
app:drawableIdle="@drawable/control_button_r2"
app:drawablePressed="@drawable/control_button_r2_pressed"
app:layout_constraintRight_toRightOf="parent"
@ -220,7 +226,7 @@
android:layout_height="80dp"
android:padding="8dp"
android:layout_marginTop="32dp"
android:layout_marginRight="32dp"
android:layout_marginRight="40dp"
app:drawableIdle="@drawable/control_button_r1"
app:drawablePressed="@drawable/control_button_r1_pressed"
app:layout_constraintRight_toRightOf="parent"