final int N = GRAVITIES.length;
GridLayout p = new GridLayout(context);
p.setUseDefaultMargins(true);
//p.setAlignmentMode(ALIGN_BOUNDS);
p.setLayoutMode(LAYOUT_MODE_OPTICAL_BOUNDS);
p.setColumnCount(N);
for (int i = 0; i < 2*N; i++) {
View c;
if (i % 2 == 0) {
TextView tv = new TextView(context);
tv.setTextSize(32);
tv.setText("A");
c = tv;
} else {
Button b = new Button(context);
b.setBackgroundResource(R.drawable.btn_default_normal);
b.setText("B");
c = b;
}
LayoutParams lp = new LayoutParams();
lp.setGravity(GRAVITIES[(i % N)]);
p.addView(c, lp);
}
return p;