Use a uniform stroke width based on screen size in pixels

This commit is contained in:
Cameron Gutman 2016-01-19 20:26:46 -05:00
parent b33eaec493
commit 2fc53644bc
4 changed files with 12 additions and 6 deletions

View File

@ -218,7 +218,7 @@ public class AnalogStick extends VirtualControllerElement {
canvas.drawColor(Color.TRANSPARENT); canvas.drawColor(Color.TRANSPARENT);
paint.setStyle(Paint.Style.STROKE); paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(getPercent(getCorrectWidth() / 2, 2)); paint.setStrokeWidth(getDefaultStrokeWidth());
// draw outer circle // draw outer circle
if (!isPressed() || click_state == CLICK_STATE.SINGLE) { if (!isPressed() || click_state == CLICK_STATE.SINGLE) {

View File

@ -146,7 +146,7 @@ public class DigitalButton extends VirtualControllerElement {
paint.setTextSize(getPercent(getCorrectWidth(), 50)); paint.setTextSize(getPercent(getCorrectWidth(), 50));
paint.setTextAlign(Paint.Align.CENTER); paint.setTextAlign(Paint.Align.CENTER);
paint.setStrokeWidth(3); paint.setStrokeWidth(getDefaultStrokeWidth());
paint.setColor(isPressed() ? pressedColor : getDefaultColor()); paint.setColor(isPressed() ? pressedColor : getDefaultColor());
paint.setStyle(Paint.Style.STROKE); paint.setStyle(Paint.Style.STROKE);

View File

@ -39,7 +39,7 @@ public class DigitalPad extends VirtualControllerElement {
paint.setTextSize(getPercent(getCorrectWidth(), 20)); paint.setTextSize(getPercent(getCorrectWidth(), 20));
paint.setTextAlign(Paint.Align.CENTER); paint.setTextAlign(Paint.Align.CENTER);
paint.setStrokeWidth(3); paint.setStrokeWidth(getDefaultStrokeWidth());
if (direction == DIGITAL_PAD_DIRECTION_NO_DIRECTION) { if (direction == DIGITAL_PAD_DIRECTION_NO_DIRECTION) {
// draw no direction rect // draw no direction rect

View File

@ -9,6 +9,7 @@ import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Paint; import android.graphics.Paint;
import android.util.DisplayMetrics;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
@ -75,7 +76,7 @@ public abstract class VirtualControllerElement extends View {
protected void onDraw(Canvas canvas) { protected void onDraw(Canvas canvas) {
if (currentMode != Mode.Normal) { if (currentMode != Mode.Normal) {
paint.setColor(configSelectedColor); paint.setColor(configSelectedColor);
paint.setStrokeWidth(10); paint.setStrokeWidth(getDefaultStrokeWidth() * 2);
paint.setStyle(Paint.Style.STROKE); paint.setStyle(Paint.Style.STROKE);
canvas.drawRect(0, 0, canvas.drawRect(0, 0,
@ -138,6 +139,11 @@ public abstract class VirtualControllerElement extends View {
configNormalColor : normalColor; configNormalColor : normalColor;
} }
protected int getDefaultStrokeWidth() {
DisplayMetrics screen = getResources().getDisplayMetrics();
return (int)(screen.heightPixels*0.004f);
}
protected void showConfigurationDialog() { protected void showConfigurationDialog() {
try { try {
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(getContext()); AlertDialog.Builder alertBuilder = new AlertDialog.Builder(getContext());