commit 39176a1f5e44baedad09f1acb7e64d2f0361aaa3
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Jul 4 11:20:14 2022 +0200

    Make the size of the text in the spinners in the bandaged activity look right on all screen sizes.

diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java b/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
index 283a7efe..4274ef45 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
@@ -54,8 +54,9 @@ public class BandagedCreatorActivity extends AppCompatActivity
     private static final float RATIO_BUT   = 0.07f;
     static final float RATIO_SCROLL= 0.30f;
 
-    public static final float DIALOG_BUTTON_SIZE  = 0.06f;
-    public static final float MENU_BIG_TEXT_SIZE  = 0.05f;
+    public static final float DIALOG_BUTTON_SIZE = 0.06f;
+    public static final float MENU_BIG_TEXT_SIZE = 0.05f;
+    public static final float SPINNER_TEXT_SIZE  = 0.03f;
 
     public static final int FLAGS =  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java b/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
index 119b88f5..893ab997 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
 import android.app.Activity;
 import android.content.SharedPreferences;
 import android.graphics.Bitmap;
+import android.util.TypedValue;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.AdapterView;
@@ -32,6 +33,7 @@ import android.widget.ArrayAdapter;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.Spinner;
+import android.widget.TextView;
 
 import org.distorted.external.RubikFiles;
 import org.distorted.helpers.TransparentImageButton;
@@ -51,6 +53,7 @@ public class BandagedCreatorScreen implements AdapterView.OnItemSelectedListener
   private final ArrayList<BandagedCreatorObjectView> mViews;
   private Spinner mSpinnerX, mSpinnerY, mSpinnerZ;
   private boolean mSpinnersReady;
+  private float mTextSize;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -149,6 +152,7 @@ public class BandagedCreatorScreen implements AdapterView.OnItemSelectedListener
     {
     mAct = new WeakReference<>(act);
     mObjectView = act.findViewById(R.id.bandagedCreatorView);
+    mTextSize = act.getScreenHeightInPixels()*BandagedCreatorActivity.SPINNER_TEXT_SIZE;
 
     int width  = act.getScreenWidthInPixels();
     int height = act.getScreenHeightInPixels();
@@ -180,19 +184,19 @@ public class BandagedCreatorScreen implements AdapterView.OnItemSelectedListener
 
     mSpinnerX = act.findViewById(R.id.bandagedCreatorX);
     mSpinnerX.setOnItemSelectedListener(this);
-    ArrayAdapter<String> adX = new ArrayAdapter<>(act, android.R.layout.simple_spinner_item, createSizes("X") );
+    ArrayAdapter<String> adX = new ArrayAdapter<>(act, R.layout.spinner_item, createSizes("X") );
     adX.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     mSpinnerX.setAdapter(adX);
 
     mSpinnerY = act.findViewById(R.id.bandagedCreatorY);
     mSpinnerY.setOnItemSelectedListener(this);
-    ArrayAdapter<String> adY = new ArrayAdapter<>(act, android.R.layout.simple_spinner_item, createSizes("Y") );
+    ArrayAdapter<String> adY = new ArrayAdapter<>(act, R.layout.spinner_item, createSizes("Y") );
     adY.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     mSpinnerY.setAdapter(adY);
 
     mSpinnerZ = act.findViewById(R.id.bandagedCreatorZ);
     mSpinnerZ.setOnItemSelectedListener(this);
-    ArrayAdapter<String> adZ = new ArrayAdapter<>(act, android.R.layout.simple_spinner_item, createSizes("Z") );
+    ArrayAdapter<String> adZ = new ArrayAdapter<>(act, R.layout.spinner_item, createSizes("Z") );
     adZ.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     mSpinnerZ.setAdapter(adZ);
 
@@ -341,6 +345,8 @@ public class BandagedCreatorScreen implements AdapterView.OnItemSelectedListener
       {
       int spinnerID = parent.getId();
 
+      ((TextView) view).setTextSize(TypedValue.COMPLEX_UNIT_PX,mTextSize);
+
       if( spinnerID==R.id.bandagedCreatorX )
         {
         mX = pos;
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogBandagedSettings.java b/src/main/java/org/distorted/dialogs/RubikDialogBandagedSettings.java
index 8fa64841..78d24fdb 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogBandagedSettings.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogBandagedSettings.java
@@ -48,6 +48,7 @@ import org.distorted.main.RubikActivity;
 public class RubikDialogBandagedSettings extends AppCompatDialogFragment implements AdapterView.OnItemSelectedListener
   {
   private int mAnimPos, mScraPos;
+  private float mTextSize;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -80,7 +81,7 @@ public class RubikDialogBandagedSettings extends AppCompatDialogFragment impleme
     scramble.setOnItemSelectedListener(this);
     String[] scrambleModes = createScrambleModes();
 
-    ArrayAdapter<String> scrambleAdapter = new ArrayAdapter<>(act, android.R.layout.simple_spinner_item, scrambleModes );
+    ArrayAdapter<String> scrambleAdapter = new ArrayAdapter<>(act, R.layout.spinner_item, scrambleModes );
     scrambleAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     scramble.setAdapter(scrambleAdapter);
     scramble.setSelection(mScraPos);
@@ -89,7 +90,7 @@ public class RubikDialogBandagedSettings extends AppCompatDialogFragment impleme
     animation.setOnItemSelectedListener(this);
     String[] animationModes = { "ON" , "OFF" };
 
-    ArrayAdapter<String> animationAdapter = new ArrayAdapter<>(act, android.R.layout.simple_spinner_item, animationModes );
+    ArrayAdapter<String> animationAdapter = new ArrayAdapter<>(act, R.layout.spinner_item, animationModes );
     animationAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     animation.setAdapter(animationAdapter);
     animation.setSelection(mAnimPos);
@@ -102,6 +103,8 @@ public class RubikDialogBandagedSettings extends AppCompatDialogFragment impleme
     {
     int spinnerID = parent.getId();
 
+    ((TextView) view).setTextSize(TypedValue.COMPLEX_UNIT_PX,mTextSize);
+
     if( spinnerID == R.id.bandaged_spinner_scramble )
       {
       mScraPos = pos;
@@ -131,7 +134,7 @@ public class RubikDialogBandagedSettings extends AppCompatDialogFragment impleme
     act.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
     final float titleSize= displaymetrics.widthPixels * RubikActivity.MENU_BIG_TEXT_SIZE;
     final float okSize   = displaymetrics.widthPixels * RubikActivity.DIALOG_BUTTON_SIZE;
-    final float textSize = displaymetrics.widthPixels * RubikActivity.MENU_BIG_TEXT_SIZE;
+    mTextSize = displaymetrics.widthPixels * RubikActivity.MENU_BIG_TEXT_SIZE;
 
     TextView tv = (TextView) inflater.inflate(R.layout.dialog_title, null);
     tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, titleSize);
@@ -171,7 +174,7 @@ public class RubikDialogBandagedSettings extends AppCompatDialogFragment impleme
       });
 
     final View view = inflater.inflate(R.layout.dialog_settings, null);
-    configureView(act,view,textSize,scraPos,animPos);
+    configureView(act,view,mTextSize,scraPos,animPos);
     builder.setView(view);
 
     Dialog dialog = builder.create();
diff --git a/src/main/res/layout/spinner_item.xml b/src/main/res/layout/spinner_item.xml
new file mode 100644
index 00000000..2ccba81e
--- /dev/null
+++ b/src/main/res/layout/spinner_item.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<TextView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:textSize="30sp"
+    android:gravity="center"
+    android:textColor="#FFFFFF"
+    android:padding="5dip"
+    />
\ No newline at end of file
