Bladeren bron

Fixed broken layout for buttons with configured color in messagebox on Android.

Philipp Wiesemann 10 jaren geleden
bovenliggende
commit
51a07ade28
1 gewijzigde bestanden met toevoegingen van 9 en 1 verwijderingen
  1. 9 1
      android-project/src/org/libsdl/app/SDLActivity.java

+ 9 - 1
android-project/src/org/libsdl/app/SDLActivity.java

@@ -24,6 +24,7 @@ import android.os.*;
 import android.util.Log;
 import android.util.SparseArray;
 import android.graphics.*;
+import android.graphics.drawable.Drawable;
 import android.media.*;
 import android.hardware.*;
 
@@ -748,7 +749,14 @@ public class SDLActivity extends Activity {
                 // TODO set color for border of messagebox button
             }
             if (buttonBackgroundColor != Color.TRANSPARENT) {
-                button.setBackgroundColor(buttonBackgroundColor);
+                Drawable drawable = button.getBackground();
+                if (drawable == null) {
+                    // setting the color this way removes the style
+                    button.setBackgroundColor(buttonBackgroundColor);
+                } else {
+                    // setting the color this way keeps the style (gradient, padding, etc.)
+                    drawable.setColorFilter(buttonBackgroundColor, PorterDuff.Mode.MULTIPLY);
+                }
             }
             if (buttonSelectedColor != Color.TRANSPARENT) {
                 // TODO set color for selected messagebox button