Project

General

Profile

« Previous | Next » 

Revision 27401bea

Added by Leszek Koltunski over 1 year ago

More fixes for UI in case of extreme screen (w/h) ratios ( from 1.0 to 2.0 ).

View differences:

src/main/java/org/distorted/config/ConfigScreen.java
35 35

  
36 36
public class ConfigScreen
37 37
{
38
  private static final float TEXT_SIZE = 0.0310f;
39
  private static final float PADDING   = 0.0060f;
40
  private static final float MARGIN    = 0.0024f;
38 41
  private static final int NUM_COLUMNS = 5;
39 42
  private static final int[] mLocation = new int[2];
40 43

  
......
56 59
    mRowCount = (numObjects + NUM_COLUMNS-1) / NUM_COLUMNS;
57 60
    mColCount = NUM_COLUMNS;
58 61

  
59
    int cubeSize  = (int)(width/9);
60
    int margin    = (int)(width*RubikActivity.LARGE_MARGIN);
61
    int padding   = (int)(width*RubikActivity.POPUP_PADDING);
62
    int cubeSize  = (int)( (Math.min(width,(int)(height*0.7f))) / 9 );
63
    int margin    = (int)(height*RubikActivity.POPUP_MARGIN);
64
    int padding   = (int)(height*RubikActivity.POPUP_PADDING);
62 65
    mObjectSize   = (int)(cubeSize + 2*margin + 0.5f);
63 66
    mMaxRowCount  = (int)((height-mBarHeight)/mObjectSize);
64 67

  
......
119 122

  
120 123
///////////////////////////////////////////////////////////////////////////////////////////////////
121 124

  
122
  private void setupObjectButton(final ConfigActivity act, final int width)
125
  private void setupObjectButton(final ConfigActivity act, final int width, final int height)
123 126
    {
124
    final int margin= (int)(width*RubikActivity.SMALL_MARGIN);
127
    final int margin= (int)(height*MARGIN);
125 128
    final int icon = RubikActivity.getDrawable(R.drawable.ui_small_cube_menu,R.drawable.ui_medium_cube_menu, R.drawable.ui_big_cube_menu, R.drawable.ui_huge_cube_menu);
126 129
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
127 130
    mObjectButton = new TransparentImageButton(act, icon, TransparentImageButton.GRAVITY_MIDDLE, params);
......
133 136
        {
134 137
        if( mObjectPopup==null )
135 138
          {
136
          float height= act.getScreenHeightInPixels();
137 139
          setupObjectWindow(act,width,height);
138 140
          }
139 141

  
......
257 259

  
258 260
///////////////////////////////////////////////////////////////////////////////////////////////////
259 261

  
260
  private void setupTextView(final ConfigActivity act, final float width, int numObjects)
262
  private void setupTextView(final ConfigActivity act, final float height, int numObjects)
261 263
    {
262
    int padding = (int)(width*RubikActivity.PADDING);
263
    int margin  = (int)(width*RubikActivity.SMALL_MARGIN);
264
    int padding = (int)(height*PADDING);
265
    int margin  = (int)(height*MARGIN);
264 266
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,2.0f);
265 267
    params.topMargin    = margin;
266 268
    params.bottomMargin = margin;
......
282 284
    {
283 285
    int numObjects = RubikObjectList.getNumObjects();
284 286
    int width = act.getScreenWidthInPixels();
287
    int height= act.getScreenHeightInPixels();
285 288
    mBarHeight = act.getHeightBar();
286
    mButtonSize = width*RubikActivity.BUTTON_TEXT_SIZE;
289
    mButtonSize = height*TEXT_SIZE;
287 290
    mObjectOrdinal = objectOrdinal;
288 291

  
289 292
    LinearLayout.LayoutParams paramsL = new LinearLayout.LayoutParams(width/4, LinearLayout.LayoutParams.MATCH_PARENT);
......
297 300
    LinearLayout layoutRight= new LinearLayout(act);
298 301
    layoutRight.setLayoutParams(paramsR);
299 302

  
300
    setupObjectButton(act,width);
303
    setupObjectButton(act,width,height);
301 304
    setupPrevButton(act);
302 305
    setupNextButton(act);
303
    setupTextView(act,width,numObjects);
306
    setupTextView(act,height,numObjects);
304 307
    setupBackButton(act);
305 308

  
306 309
    layoutLeft.addView(mObjectButton);

Also available in: Unified diff