Revision ad0c8e0e
Added by Leszek Koltunski almost 4 years ago
src/main/java/org/distorted/states/RubikStateSolution.java | ||
---|---|---|
20 | 20 |
package org.distorted.states; |
21 | 21 |
|
22 | 22 |
import android.content.SharedPreferences; |
23 |
import android.util.DisplayMetrics; |
|
24 | 23 |
import android.util.TypedValue; |
25 | 24 |
import android.view.Gravity; |
26 | 25 |
import android.view.LayoutInflater; |
... | ... | |
66 | 65 |
mButtonSize = width*RubikActivity.BUTTON_TEXT_SIZE; |
67 | 66 |
mTitleSize = width*RubikActivity.TITLE_TEXT_SIZE; |
68 | 67 |
|
69 |
DisplayMetrics metrics = act.getResources().getDisplayMetrics(); |
|
70 |
final float scale = metrics.density; |
|
71 | 68 |
LayoutInflater inflater = act.getLayoutInflater(); |
72 | 69 |
|
73 | 70 |
// TOP //////////////////////////// |
... | ... | |
80 | 77 |
layoutTop.addView(text); |
81 | 78 |
|
82 | 79 |
// BOT //////////////////////////// |
83 |
setupPrevButton(act,scale);
|
|
84 |
setupNextButton(act,scale);
|
|
85 |
setupTextView(act,scale);
|
|
80 |
setupPrevButton(act,width);
|
|
81 |
setupNextButton(act,width);
|
|
82 |
setupTextView(act,width);
|
|
86 | 83 |
|
87 | 84 |
LinearLayout layoutLeft = act.findViewById(R.id.mainBarLeft); |
88 | 85 |
layoutLeft.removeAllViews(); |
... | ... | |
90 | 87 |
layoutLeft.addView(mMovesText); |
91 | 88 |
layoutLeft.addView(mNextButton); |
92 | 89 |
|
93 |
setupBackButton(act,scale);
|
|
90 |
setupBackButton(act,width);
|
|
94 | 91 |
|
95 | 92 |
LinearLayout layoutRight = act.findViewById(R.id.mainBarRight); |
96 | 93 |
layoutRight.removeAllViews(); |
... | ... | |
99 | 96 |
|
100 | 97 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
101 | 98 |
|
102 |
private void setupPrevButton(final RubikActivity act, final float scale)
|
|
99 |
private void setupPrevButton(final RubikActivity act, final float width)
|
|
103 | 100 |
{ |
104 |
int padding = (int)(3*scale + 0.5f); |
|
101 |
int padding = (int)(width*RubikActivity.PADDING); |
|
102 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
105 | 103 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,1.0f); |
104 |
params.topMargin = margin; |
|
105 |
params.bottomMargin = margin; |
|
106 |
params.leftMargin = margin; |
|
107 |
params.rightMargin = margin; |
|
108 |
|
|
106 | 109 |
mPrevButton = new ImageButton(act); |
107 | 110 |
mPrevButton.setLayoutParams(params); |
108 | 111 |
mPrevButton.setPadding(padding,0,padding,0); |
... | ... | |
122 | 125 |
|
123 | 126 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
124 | 127 |
|
125 |
private void setupNextButton(final RubikActivity act, final float scale)
|
|
128 |
private void setupNextButton(final RubikActivity act, final float width)
|
|
126 | 129 |
{ |
127 |
int padding = (int)( 3*scale + 0.5f); |
|
130 |
int padding = (int)(width*RubikActivity.PADDING); |
|
131 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
128 | 132 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT, 1.0f); |
133 |
params.topMargin = margin; |
|
134 |
params.bottomMargin = margin; |
|
135 |
params.leftMargin = margin; |
|
136 |
params.rightMargin = margin; |
|
137 |
|
|
129 | 138 |
mNextButton = new ImageButton(act); |
130 | 139 |
mNextButton.setLayoutParams(params); |
131 | 140 |
mNextButton.setPadding(padding,0,padding,0); |
... | ... | |
145 | 154 |
|
146 | 155 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
147 | 156 |
|
148 |
private void setupTextView(final RubikActivity act, final float scale)
|
|
157 |
private void setupTextView(final RubikActivity act, final float width)
|
|
149 | 158 |
{ |
150 |
int padding = (int)( 3*scale + 0.5f); |
|
159 |
int padding = (int)(width*RubikActivity.PADDING); |
|
160 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
151 | 161 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,2.0f); |
162 |
params.topMargin = margin; |
|
163 |
params.bottomMargin = margin; |
|
164 |
params.leftMargin = margin; |
|
165 |
params.rightMargin = margin; |
|
152 | 166 |
|
153 | 167 |
mMovesText = new TextView(act); |
154 | 168 |
mMovesText.setTextSize(20); |
... | ... | |
161 | 175 |
|
162 | 176 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
163 | 177 |
|
164 |
private void setupBackButton(final RubikActivity act, final float scale)
|
|
178 |
private void setupBackButton(final RubikActivity act, final float width)
|
|
165 | 179 |
{ |
166 |
int padding = (int)(3*scale + 0.5f); |
|
167 |
LinearLayout.LayoutParams backParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT); |
|
180 |
int padding = (int)(width*RubikActivity.PADDING); |
|
181 |
int margin = (int)(width*RubikActivity.MARGIN); |
|
182 |
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT); |
|
183 |
params.topMargin = margin; |
|
184 |
params.bottomMargin = margin; |
|
185 |
params.leftMargin = margin; |
|
186 |
params.rightMargin = margin; |
|
187 |
|
|
168 | 188 |
mBackButton = new Button(act); |
169 |
mBackButton.setLayoutParams(backParams);
|
|
189 |
mBackButton.setLayoutParams(params);
|
|
170 | 190 |
mBackButton.setPadding(padding,0,padding,0); |
171 | 191 |
mBackButton.setTextSize(TypedValue.COMPLEX_UNIT_PX, mButtonSize); |
172 | 192 |
mBackButton.setText(R.string.back); |
Also available in: Unified diff
Make the margins and paddings proportional to screen size.