Project

General

Profile

« Previous | Next » 

Revision ad0c8e0e

Added by Leszek Koltunski almost 4 years ago

Make the margins and paddings proportional to screen size.

View differences:

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