commit 033100af2d20e43e96d13cf968e8e836273e1a5c
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Nov 8 13:05:53 2021 +0100

    Convert TransparentButton to Material Design.

diff --git a/src/main/java/org/distorted/helpers/TransparentButton.java b/src/main/java/org/distorted/helpers/TransparentButton.java
index 1aec98d6..721dd7c2 100644
--- a/src/main/java/org/distorted/helpers/TransparentButton.java
+++ b/src/main/java/org/distorted/helpers/TransparentButton.java
@@ -24,28 +24,21 @@ import android.content.Context;
 import android.util.TypedValue;
 import android.widget.LinearLayout;
 
-import org.distorted.main.RubikActivity;
+import com.google.android.material.button.MaterialButton;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 @SuppressLint("ViewConstructor")
-public class TransparentButton extends androidx.appcompat.widget.AppCompatButton
+public class TransparentButton extends MaterialButton
 {
-   public TransparentButton(Context context, int resId, float size, float scrWidth)
+   public TransparentButton(Context context, int resId, float size)
       {
       super(context);
 
-      final int padding = (int)(scrWidth*RubikActivity.PADDING);
-      final int margin  = (int)(scrWidth*RubikActivity.MARGIN);
-
       LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT, 1.0f);
-      params.topMargin    = margin;
-      params.bottomMargin = margin;
-      params.leftMargin   = margin;
-      params.rightMargin  = margin;
 
       setLayoutParams(params);
-      setPadding(padding,0,padding,0);
+      setPadding(0,0,0,0);
       setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
       setText(resId);
 
diff --git a/src/main/java/org/distorted/screens/RubikScreenPlay.java b/src/main/java/org/distorted/screens/RubikScreenPlay.java
index 939ae7a9..717784c1 100644
--- a/src/main/java/org/distorted/screens/RubikScreenPlay.java
+++ b/src/main/java/org/distorted/screens/RubikScreenPlay.java
@@ -70,7 +70,7 @@ public class RubikScreenPlay extends RubikScreenBase
   private static final int[] mLocation = new int[2];
 
   private TransparentImageButton mObjButton, mMenuButton, mSolveButton, mScrambleButton;
-  private Button mPlayButton;
+  private TransparentButton mPlayButton;
   private PopupWindow mObjectPopup, mMenuPopup, mPlayPopup;
   private ObjectType mObject = DEF_OBJECT;
   private int mObjectSize, mMenuLayoutWidth, mMenuLayoutHeight, mPlayLayoutWidth;
@@ -172,7 +172,7 @@ public class RubikScreenPlay extends RubikScreenBase
     {
     final int margin = (int)(width*RubikActivity.MARGIN);
 
-    mPlayButton = new TransparentButton(act, R.string.play, mButtonSize, width);
+    mPlayButton = new TransparentButton(act, R.string.play, mButtonSize);
 
     mPlayButton.setOnClickListener( new View.OnClickListener()
       {
diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml
index 424aa037..91032f76 100644
--- a/src/main/res/values/styles.xml
+++ b/src/main/res/values/styles.xml
@@ -20,6 +20,7 @@
         <item name="android:windowActionBar">false</item>
         <item name="android:windowFullscreen">true</item>
         <item name="android:windowContentOverlay">@null</item>
+        <item name="materialThemeOverlay">@style/ButtonStyleTextColor</item>
         <item name="buttonBarNegativeButtonStyle">@style/NegativeButtonStyle</item>
         <item name="buttonBarPositiveButtonStyle">@style/PositiveButtonStyle</item>
    </style>
@@ -32,4 +33,10 @@
       <item name="android:textColor">#ffffff</item>
    </style>
 
+   <style name="ButtonStyleTextColor">
+      <item name="colorOnPrimary">@color/white</item>
+      <item name="colorOnSecondary">@color/dark_grey</item>
+      <item name="colorOnSurface">@color/light_grey</item>
+   </style>
+
 </resources>
