9 |
9 |
|
10 |
10 |
package org.distorted.config;
|
11 |
11 |
|
|
12 |
import android.app.Activity;
|
12 |
13 |
import android.util.TypedValue;
|
|
14 |
import android.view.View;
|
|
15 |
import android.view.ViewGroup;
|
|
16 |
import android.widget.GridLayout;
|
|
17 |
import android.widget.ImageButton;
|
13 |
18 |
import android.widget.LinearLayout;
|
14 |
19 |
import android.widget.SeekBar;
|
15 |
20 |
import android.widget.TextView;
|
16 |
21 |
|
|
22 |
import org.distorted.main.MainActivity;
|
17 |
23 |
import org.distorted.main.R;
|
18 |
24 |
|
19 |
25 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
... | ... | |
27 |
33 |
public static final float[] CORNER_STEPS = { 0.00f, 0.50f, 1.00f, 1.50f, 2.00f };
|
28 |
34 |
|
29 |
35 |
private static final float PADDING_RATIO = 0.010f;
|
|
36 |
private static final float MARGIN_RATIO = 0.017f;
|
30 |
37 |
private static final float TEXT_RATIO = 0.025f;
|
31 |
38 |
|
|
39 |
static final int ICO_01= 0xffe191b4;
|
|
40 |
static final int ICO_02= 0xff604c94;
|
|
41 |
static final int ICO_03= 0xff472258;
|
|
42 |
static final int ICO_04= 0xff591218;
|
|
43 |
static final int ICO_05= 0xffba365b;
|
|
44 |
static final int ICO_06= 0xffe4e000;
|
|
45 |
static final int ICO_07= 0xff4a90d5;
|
|
46 |
static final int ICO_08= 0xff0e28a3;
|
|
47 |
static final int ICO_09= 0xff00ff00;
|
|
48 |
static final int ICO_10= 0xffd7660a;
|
|
49 |
static final int ICO_11= 0xff092d2b;
|
|
50 |
static final int ICO_12= 0xff034d3e;
|
|
51 |
static final int ICO_13= 0xff1a7516;
|
|
52 |
static final int ICO_14= 0xff58b6be;
|
|
53 |
static final int ICO_15= 0xffd3c49b;
|
|
54 |
static final int ICO_16= 0xff0a1662;
|
|
55 |
static final int ICO_17= 0xffa21a1c;
|
|
56 |
static final int ICO_18= 0xffe1b410;
|
|
57 |
static final int ICO_19= 0xffff0000;
|
|
58 |
static final int ICO_20= 0xff0157ba;
|
|
59 |
static final int ICO_21= 0xff000000;
|
|
60 |
static final int ICO_22= 0xff222222;
|
|
61 |
static final int ICO_23= 0xff555555;
|
|
62 |
static final int ICO_24= 0xffffffff;
|
|
63 |
|
|
64 |
private static final int[][] COLORS =
|
|
65 |
{
|
|
66 |
{ ICO_01, ICO_02, ICO_03, ICO_04, ICO_05, ICO_21 },
|
|
67 |
{ ICO_06, ICO_07, ICO_08, ICO_09, ICO_10, ICO_22 },
|
|
68 |
{ ICO_11, ICO_12, ICO_13, ICO_14, ICO_15, ICO_23 },
|
|
69 |
{ ICO_16, ICO_17, ICO_18, ICO_19, ICO_20, ICO_24 },
|
|
70 |
};
|
|
71 |
|
32 |
72 |
private final SeekBar mSeekBarBorders, mSeekBarCorners;
|
33 |
73 |
private int mCurrentBorders, mCurrentCorners;
|
|
74 |
private GridLayout mGrid;
|
34 |
75 |
|
35 |
76 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
36 |
77 |
|
37 |
|
void updatePane(ConfigActivity act, int objectOrdinal)
|
|
78 |
void resetUI()
|
38 |
79 |
{
|
|
80 |
mSeekBarBorders.setProgress(DEFAULT_BORDERS);
|
|
81 |
mSeekBarCorners.setProgress(DEFAULT_CORNERS);
|
39 |
82 |
|
|
83 |
// reset color grid
|
40 |
84 |
}
|
41 |
85 |
|
42 |
86 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
43 |
87 |
|
44 |
|
void resetUI()
|
|
88 |
private void createColorGrid(final ConfigActivity act, int width, int height)
|
45 |
89 |
{
|
46 |
|
mSeekBarBorders.setProgress(DEFAULT_BORDERS);
|
47 |
|
mSeekBarCorners.setProgress(DEFAULT_CORNERS);
|
|
90 |
mGrid = new GridLayout(act);
|
|
91 |
ViewGroup.LayoutParams paramsG = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);
|
|
92 |
mGrid.setLayoutParams(paramsG);
|
|
93 |
|
|
94 |
int rowCount = COLORS.length;
|
|
95 |
int colCount = COLORS[0].length;
|
|
96 |
|
|
97 |
int margin = (int)(width*MARGIN_RATIO);
|
|
98 |
int hsize = (int)(0.83f*width/colCount - margin);
|
|
99 |
int vsize = (int)(0.78f*(height*(1-MainActivity.RATIO_BAR)*(2.0f)/(2.0f+0.75f+3.0f))/rowCount - margin );
|
|
100 |
|
|
101 |
mGrid.setColumnCount(colCount);
|
|
102 |
mGrid.setRowCount(rowCount);
|
|
103 |
|
|
104 |
GridLayout.Spec[] rowSpecs = new GridLayout.Spec[rowCount];
|
|
105 |
GridLayout.Spec[] colSpecs = new GridLayout.Spec[colCount];
|
|
106 |
|
|
107 |
for(int row=0; row<rowCount; row++) rowSpecs[row] = GridLayout.spec(row);
|
|
108 |
for(int col=0; col<colCount; col++) colSpecs[col] = GridLayout.spec(col);
|
|
109 |
|
|
110 |
for(int row=0; row<rowCount; row++)
|
|
111 |
for(int col=0; col<colCount; col++)
|
|
112 |
{
|
|
113 |
View v = createView(act,row,col);
|
|
114 |
GridLayout.Spec rs = rowSpecs[row];
|
|
115 |
GridLayout.Spec cs = colSpecs[col];
|
|
116 |
|
|
117 |
GridLayout.LayoutParams params = new GridLayout.LayoutParams(rs,cs);
|
|
118 |
params.bottomMargin = margin;
|
|
119 |
params.topMargin = margin;
|
|
120 |
params.leftMargin = margin;
|
|
121 |
params.rightMargin = margin;
|
|
122 |
params.width = hsize;
|
|
123 |
params.height= vsize;
|
|
124 |
|
|
125 |
mGrid.addView(v,params);
|
|
126 |
}
|
|
127 |
}
|
|
128 |
|
|
129 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
130 |
|
|
131 |
private View createView(Activity act, int row, int col)
|
|
132 |
{
|
|
133 |
ImageButton button = new ImageButton(act);
|
|
134 |
button.setBackgroundColor( COLORS[row][col] );
|
|
135 |
return button;
|
48 |
136 |
}
|
49 |
137 |
|
50 |
138 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
51 |
139 |
|
52 |
140 |
ConfigScreenPane(final ConfigActivity act, int objectOrdinal)
|
53 |
141 |
{
|
|
142 |
int width = act.getScreenWidthInPixels();
|
54 |
143 |
int height = act.getScreenHeightInPixels();
|
55 |
144 |
float textSize = height*TEXT_RATIO;
|
56 |
145 |
int padding = (int)(height*PADDING_RATIO);
|
... | ... | |
124 |
213 |
paramsLayoutL.rightMargin = padding;
|
125 |
214 |
|
126 |
215 |
configLayoutL.setLayoutParams(paramsLayoutL);
|
|
216 |
|
|
217 |
createColorGrid(act, width, height);
|
|
218 |
configLayoutL.addView(mGrid);
|
127 |
219 |
}
|
128 |
220 |
}
|
progress with configurable stickers