1package com.android.test.layout;
2
3import android.app.Activity;
4import android.content.Context;
5import android.os.Build;
6import android.os.Bundle;
7import android.view.Gravity;
8import android.view.View;
9import android.widget.Button;
10import android.widget.GridLayout;
11import android.widget.TextView;
12
13import static android.widget.GridLayout.LayoutParams;
14import static android.widget.GridLayout.LAYOUT_MODE_OPTICAL_BOUNDS;
15
16public class LayoutInsetsTest extends Activity {
17    static int[] GRAVITIES = {Gravity.LEFT, Gravity.LEFT, Gravity.CENTER_HORIZONTAL, Gravity.RIGHT, Gravity.RIGHT};
18
19    public static View create(Context context) {
20        final int N = GRAVITIES.length;
21
22        GridLayout p = new GridLayout(context);
23        p.setUseDefaultMargins(true);
24        //p.setAlignmentMode(ALIGN_BOUNDS);
25        p.setLayoutMode(LAYOUT_MODE_OPTICAL_BOUNDS);
26
27        p.setColumnCount(N);
28
29        for (int i = 0; i < 2*N; i++) {
30            View c;
31            if (i % 2 == 0) {
32                TextView tv = new TextView(context);
33                tv.setTextSize(32);
34                tv.setText("A");
35                c = tv;
36            } else {
37                Button b = new Button(context);
38                b.setBackgroundResource(R.drawable.btn_default_normal);
39                b.setText("B");
40                c = b;
41            }
42
43            LayoutParams lp = new LayoutParams();
44            lp.setGravity(GRAVITIES[(i % N)]);
45            p.addView(c, lp);
46
47        }
48
49
50        return p;
51    }
52
53    protected void onCreate(Bundle savedInstanceState) {
54        super.onCreate(savedInstanceState);
55        //getApplicationInfo().targetSdkVersion = Build.VERSION_CODES.ICE_CREAM_SANDWICH;
56        getApplicationInfo().targetSdkVersion = Build.VERSION_CODES.JELLY_BEAN;
57        setContentView(create(this));
58    }
59}
60