11557fd7809078e421f751efc7d2539b3efdc54b2Philip Milnepackage com.android.test.layout;
21557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne
31557fd7809078e421f751efc7d2539b3efdc54b2Philip Milneimport android.app.Activity;
41557fd7809078e421f751efc7d2539b3efdc54b2Philip Milneimport android.content.Context;
51557fd7809078e421f751efc7d2539b3efdc54b2Philip Milneimport android.os.Build;
61557fd7809078e421f751efc7d2539b3efdc54b2Philip Milneimport android.os.Bundle;
77a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milneimport android.view.Gravity;
81557fd7809078e421f751efc7d2539b3efdc54b2Philip Milneimport android.view.View;
91557fd7809078e421f751efc7d2539b3efdc54b2Philip Milneimport android.widget.Button;
101557fd7809078e421f751efc7d2539b3efdc54b2Philip Milneimport android.widget.GridLayout;
111557fd7809078e421f751efc7d2539b3efdc54b2Philip Milneimport android.widget.TextView;
121557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne
137a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milneimport static android.widget.GridLayout.LayoutParams;
147b7578184567f4e4f0740ce935cc192765410ccaPhilip Milneimport static android.widget.GridLayout.LAYOUT_MODE_OPTICAL_BOUNDS;
151557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne
161557fd7809078e421f751efc7d2539b3efdc54b2Philip Milnepublic class LayoutInsetsTest extends Activity {
177a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne    static int[] GRAVITIES = {Gravity.LEFT, Gravity.LEFT, Gravity.CENTER_HORIZONTAL, Gravity.RIGHT, Gravity.RIGHT};
187a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne
191557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne    public static View create(Context context) {
207a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne        final int N = GRAVITIES.length;
217a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne
221557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne        GridLayout p = new GridLayout(context);
231557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne        p.setUseDefaultMargins(true);
247a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne        //p.setAlignmentMode(ALIGN_BOUNDS);
257b7578184567f4e4f0740ce935cc192765410ccaPhilip Milne        p.setLayoutMode(LAYOUT_MODE_OPTICAL_BOUNDS);
267a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne
277a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne        p.setColumnCount(N);
287a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne
297a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne        for (int i = 0; i < 2*N; i++) {
307a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne            View c;
317a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne            if (i % 2 == 0) {
327a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne                TextView tv = new TextView(context);
337a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne                tv.setTextSize(32);
347a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne                tv.setText("A");
357a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne                c = tv;
367a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne            } else {
377a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne                Button b = new Button(context);
387a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne                b.setBackgroundResource(R.drawable.btn_default_normal);
397a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne                b.setText("B");
407a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne                c = b;
417a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne            }
427a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne
437a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne            LayoutParams lp = new LayoutParams();
447a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne            lp.setGravity(GRAVITIES[(i % N)]);
457a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne            p.addView(c, lp);
46bbd51f1e360b22eece1d74bd65c7e6a0b59dee59Philip Milne
471557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne        }
481557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne
497a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne
501557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne        return p;
511557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne    }
521557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne
531557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne    protected void onCreate(Bundle savedInstanceState) {
541557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne        super.onCreate(savedInstanceState);
551557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne        //getApplicationInfo().targetSdkVersion = Build.VERSION_CODES.ICE_CREAM_SANDWICH;
561557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne        getApplicationInfo().targetSdkVersion = Build.VERSION_CODES.JELLY_BEAN;
571557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne        setContentView(create(this));
581557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne    }
591557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne}
60