Revision 2eb74743
Added by Leszek Koltunski over 4 years ago
src/main/java/org/distorted/dialogs/RubikDialogAbout.java | ||
---|---|---|
31 | 31 |
|
32 | 32 |
import android.text.method.LinkMovementMethod; |
33 | 33 |
import android.text.method.MovementMethod; |
34 |
import android.util.DisplayMetrics; |
|
35 |
import android.util.TypedValue; |
|
34 | 36 |
import android.view.LayoutInflater; |
35 | 37 |
import android.view.View; |
36 | 38 |
import android.view.Window; |
37 | 39 |
import android.view.WindowManager; |
40 |
import android.widget.Button; |
|
38 | 41 |
import android.widget.TextView; |
39 | 42 |
|
40 | 43 |
import org.distorted.main.R; |
44 |
import org.distorted.main.RubikActivity; |
|
41 | 45 |
|
42 | 46 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
43 | 47 |
|
... | ... | |
51 | 55 |
LayoutInflater inflater = act.getLayoutInflater(); |
52 | 56 |
AlertDialog.Builder builder = new AlertDialog.Builder(act); |
53 | 57 |
|
58 |
DisplayMetrics displaymetrics = new DisplayMetrics(); |
|
59 |
act.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); |
|
60 |
final float titleSize= displaymetrics.widthPixels * RubikActivity.MENU_BIG_TEXT_SIZE; |
|
61 |
final float okSize = displaymetrics.widthPixels * RubikActivity.MENU_MEDIUM_TEXT_SIZE; |
|
62 |
final float textSize = displaymetrics.widthPixels * RubikActivity.MENU_SMALL_TEXT_SIZE; |
|
63 |
|
|
54 | 64 |
TextView tv = (TextView) inflater.inflate(R.layout.dialog_title, null); |
65 |
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, titleSize); |
|
55 | 66 |
tv.setText(R.string.about); |
56 | 67 |
builder.setCustomTitle(tv); |
57 | 68 |
|
... | ... | |
77 | 88 |
} |
78 | 89 |
catch (PackageManager.NameNotFoundException e) |
79 | 90 |
{ |
80 |
appVers = "1.1.1";
|
|
91 |
appVers = "1.2.2";
|
|
81 | 92 |
} |
82 | 93 |
|
94 |
text.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); |
|
83 | 95 |
text.setText(getString(R.string.ap_placeholder,appName, appVers)); |
84 | 96 |
|
85 | 97 |
MovementMethod mm = LinkMovementMethod.getInstance(); |
86 | 98 |
TextView text1 = view.findViewById(R.id.about_section1); |
99 |
text1.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); |
|
87 | 100 |
text1.setMovementMethod(mm); |
88 | 101 |
TextView text2 = view.findViewById(R.id.about_section2); |
102 |
text2.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); |
|
89 | 103 |
text2.setMovementMethod(mm); |
90 | 104 |
TextView text3 = view.findViewById(R.id.about_section3); |
105 |
text3.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); |
|
91 | 106 |
text3.setMovementMethod(mm); |
92 | 107 |
|
93 | 108 |
builder.setView(view); |
... | ... | |
101 | 116 |
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); |
102 | 117 |
} |
103 | 118 |
|
119 |
dialog.setOnShowListener(new DialogInterface.OnShowListener() |
|
120 |
{ |
|
121 |
@Override |
|
122 |
public void onShow(DialogInterface dialog) |
|
123 |
{ |
|
124 |
Button btnPositive = ((AlertDialog)dialog).getButton(Dialog.BUTTON_POSITIVE); |
|
125 |
btnPositive.setTextSize(TypedValue.COMPLEX_UNIT_PX, okSize); |
|
126 |
} |
|
127 |
}); |
|
128 |
|
|
104 | 129 |
return dialog; |
105 | 130 |
} |
106 | 131 |
} |
src/main/java/org/distorted/dialogs/RubikDialogEffects.java | ||
---|---|---|
28 | 28 |
import androidx.appcompat.app.AlertDialog; |
29 | 29 |
import androidx.appcompat.app.AppCompatDialogFragment; |
30 | 30 |
import android.util.DisplayMetrics; |
31 |
import android.util.TypedValue; |
|
31 | 32 |
import android.view.Gravity; |
32 | 33 |
import android.view.LayoutInflater; |
33 | 34 |
import android.view.View; |
... | ... | |
35 | 36 |
import android.view.WindowManager; |
36 | 37 |
import android.widget.AdapterView; |
37 | 38 |
import android.widget.ArrayAdapter; |
39 |
import android.widget.Button; |
|
38 | 40 |
import android.widget.LinearLayout; |
39 | 41 |
import android.widget.SeekBar; |
40 | 42 |
import android.widget.Spinner; |
... | ... | |
42 | 44 |
|
43 | 45 |
import org.distorted.effects.BaseEffect; |
44 | 46 |
import org.distorted.main.R; |
47 |
import org.distorted.main.RubikActivity; |
|
45 | 48 |
|
46 | 49 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
47 | 50 |
|
48 | 51 |
public class RubikDialogEffects extends AppCompatDialogFragment implements SeekBar.OnSeekBarChangeListener, AdapterView.OnItemSelectedListener |
49 | 52 |
{ |
50 | 53 |
private TextView[] mDurationText; |
54 |
private float mTextSize; |
|
51 | 55 |
|
52 | 56 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
53 | 57 |
|
... | ... | |
55 | 59 |
{ |
56 | 60 |
BaseEffect.Type beType = BaseEffect.Type.getType(index); |
57 | 61 |
DisplayMetrics metrics = act.getResources().getDisplayMetrics(); |
58 |
float scale = metrics.density; |
|
62 |
final float scale = metrics.density; |
|
63 |
mTextSize = metrics.widthPixels * RubikActivity.MENU_SMALL_TEXT_SIZE; |
|
59 | 64 |
|
60 |
int textH=32;
|
|
61 |
int layoH=36;
|
|
65 |
int textH= (int)(mTextSize);
|
|
66 |
int layoH= (int)(1.2f*mTextSize);
|
|
62 | 67 |
int margH=10; |
63 | 68 |
|
64 | 69 |
///// OUTER LAYOUT /////////////////////////////////////////////////////////////////// |
... | ... | |
86 | 91 |
LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,layoutHeight); |
87 | 92 |
|
88 | 93 |
TextView textView = new TextView(act); |
94 |
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize); |
|
89 | 95 |
textView.setText(beType.getText()); |
90 | 96 |
textView.setLayoutParams(textParams); |
91 | 97 |
textView.setGravity(Gravity.CENTER); |
92 | 98 |
textView.setPadding(padding,0,padding,0); |
93 |
textView.setTextAppearance(act,android.R.style.TextAppearance_Small); |
|
94 | 99 |
outerLayout.addView(textView); |
95 | 100 |
|
96 | 101 |
///// INNER LAYOUT1 ////////////////////////////////////////////////////////////////// |
... | ... | |
110 | 115 |
LinearLayout.LayoutParams text1LayoutParams = new LinearLayout.LayoutParams(0,layoutHeight,0.25f); |
111 | 116 |
|
112 | 117 |
TextView text1View = new TextView(act); |
118 |
text1View.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize); |
|
113 | 119 |
text1View.setText(R.string.duration); |
114 | 120 |
text1View.setLayoutParams(text1LayoutParams); |
115 | 121 |
text1View.setGravity(Gravity.START|Gravity.CENTER); |
116 | 122 |
text1View.setPadding(text1Padding,0,text1Padding,0); |
117 |
text1View.setTextAppearance(act,android.R.style.TextAppearance_Small); |
|
118 | 123 |
innerLayout1.addView(text1View); |
119 | 124 |
////////////////////////////////////////////////////////////////// |
120 | 125 |
int text2Padding = (int)(scale*5 + 0.5f); |
121 | 126 |
LinearLayout.LayoutParams text2LayoutParams = new LinearLayout.LayoutParams(0,layoutHeight,0.25f); |
122 | 127 |
|
123 | 128 |
mDurationText[index] = new TextView(act); |
129 |
mDurationText[index].setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize); |
|
124 | 130 |
mDurationText[index].setLayoutParams(text2LayoutParams); |
125 | 131 |
mDurationText[index].setGravity(Gravity.START|Gravity.CENTER); |
126 | 132 |
mDurationText[index].setPadding(text2Padding,0,text2Padding,0); |
127 |
mDurationText[index].setTextAppearance(act,android.R.style.TextAppearance_Small); |
|
128 | 133 |
innerLayout1.addView(mDurationText[index]); |
129 | 134 |
////////////////////////////////////////////////////////////////// |
130 | 135 |
int seekPadding = (int)(scale*10 + 0.5f); |
... | ... | |
156 | 161 |
LinearLayout.LayoutParams text3LayoutParams = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,0.25f); |
157 | 162 |
|
158 | 163 |
TextView text3View = new TextView(act); |
164 |
text3View.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize); |
|
159 | 165 |
text3View.setText(R.string.type); |
160 | 166 |
text3View.setLayoutParams(text3LayoutParams); |
161 | 167 |
text3View.setGravity(Gravity.START|Gravity.CENTER); |
162 | 168 |
text3View.setPadding(text3Padding,0,text3Padding,0); |
163 |
text3View.setTextAppearance(act,android.R.style.TextAppearance_Small); |
|
164 | 169 |
innerLayout2.addView(text3View); |
165 | 170 |
////////////////////////////////////////////////////////////////// |
166 | 171 |
int spinnerPadding = (int)(scale*10 + 0.5f); |
... | ... | |
207 | 212 |
LayoutInflater inflater = act.getLayoutInflater(); |
208 | 213 |
AlertDialog.Builder builder = new AlertDialog.Builder(act); |
209 | 214 |
TextView tv = (TextView) inflater.inflate(R.layout.dialog_title, null); |
215 |
|
|
216 |
DisplayMetrics displaymetrics = new DisplayMetrics(); |
|
217 |
act.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); |
|
218 |
final float titleSize= displaymetrics.widthPixels * RubikActivity.MENU_BIG_TEXT_SIZE; |
|
219 |
final float okSize = displaymetrics.widthPixels * RubikActivity.MENU_MEDIUM_TEXT_SIZE; |
|
220 |
|
|
221 |
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, titleSize); |
|
210 | 222 |
tv.setText(R.string.effects); |
211 | 223 |
builder.setCustomTitle(tv); |
212 | 224 |
|
... | ... | |
248 | 260 |
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); |
249 | 261 |
} |
250 | 262 |
|
263 |
dialog.setOnShowListener(new DialogInterface.OnShowListener() |
|
264 |
{ |
|
265 |
@Override |
|
266 |
public void onShow(DialogInterface dialog) |
|
267 |
{ |
|
268 |
Button btnPositive = ((AlertDialog)dialog).getButton(Dialog.BUTTON_POSITIVE); |
|
269 |
btnPositive.setTextSize(TypedValue.COMPLEX_UNIT_PX, okSize); |
|
270 |
} |
|
271 |
}); |
|
272 |
|
|
251 | 273 |
return dialog; |
252 | 274 |
} |
253 | 275 |
|
... | ... | |
255 | 277 |
|
256 | 278 |
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) |
257 | 279 |
{ |
280 |
((TextView) parent.getChildAt(0)).setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize); |
|
281 |
|
|
258 | 282 |
int parentID = parent.getId(); |
259 | 283 |
int len = BaseEffect.Type.LENGTH; |
260 | 284 |
|
src/main/java/org/distorted/dialogs/RubikDialogMain.java | ||
---|---|---|
52 | 52 |
|
53 | 53 |
DisplayMetrics displaymetrics = new DisplayMetrics(); |
54 | 54 |
act.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); |
55 |
float textSize = displaymetrics.widthPixels * RubikActivity.MENU_TEXT_SIZE; |
|
55 |
float textSize = displaymetrics.widthPixels * RubikActivity.MENU_MEDIUM_TEXT_SIZE;
|
|
56 | 56 |
int buttonSize = (int)(2.5f*textSize); |
57 | 57 |
|
58 | 58 |
Button play = view.findViewById(R.id.rubikPlay); |
src/main/java/org/distorted/main/RubikActivity.java | ||
---|---|---|
49 | 49 |
public static final float BUTTON_TEXT_SIZE = 0.05f; |
50 | 50 |
public static final float TITLE_TEXT_SIZE = 0.06f; |
51 | 51 |
public static final float BITMAP_TEXT_SIZE = 0.09f; |
52 |
public static final float MENU_TEXT_SIZE = 0.04f; |
|
52 |
|
|
53 |
public static final float MENU_BIG_TEXT_SIZE = 0.05f; |
|
54 |
public static final float MENU_MEDIUM_TEXT_SIZE= 0.04f; |
|
55 |
public static final float MENU_SMALL_TEXT_SIZE = 0.035f; |
|
53 | 56 |
|
54 | 57 |
private boolean mJustStarted; |
55 | 58 |
private FirebaseAnalytics mFirebaseAnalytics; |
Also available in: Unified diff
Improvements to the UI - make it proportional regardless of the physical screen size. (Part 5 - first 3 Dialogs)