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.ALIGN_BOUNDS; 147a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milneimport static android.widget.GridLayout.LayoutParams; 157a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milneimport static android.widget.GridLayout.OPTICAL_BOUNDS; 161557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne 171557fd7809078e421f751efc7d2539b3efdc54b2Philip Milnepublic class LayoutInsetsTest extends Activity { 187a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne static int[] GRAVITIES = {Gravity.LEFT, Gravity.LEFT, Gravity.CENTER_HORIZONTAL, Gravity.RIGHT, Gravity.RIGHT}; 197a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne 201557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne public static View create(Context context) { 217a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne final int N = GRAVITIES.length; 227a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne 231557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne GridLayout p = new GridLayout(context); 241557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne p.setUseDefaultMargins(true); 257a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne //p.setAlignmentMode(ALIGN_BOUNDS); 267a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne p.setLayoutMode(OPTICAL_BOUNDS); 277a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne 287a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne p.setColumnCount(N); 297a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne 307a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne for (int i = 0; i < 2*N; i++) { 317a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne View c; 327a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne if (i % 2 == 0) { 337a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne TextView tv = new TextView(context); 347a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne tv.setTextSize(32); 357a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne tv.setText("A"); 367a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne c = tv; 377a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne } else { 387a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne Button b = new Button(context); 397a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne b.setBackgroundResource(R.drawable.btn_default_normal); 407a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne b.setText("B"); 417a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne c = b; 427a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne } 437a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne 447a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne LayoutParams lp = new LayoutParams(); 457a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne lp.setGravity(GRAVITIES[(i % N)]); 467a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne p.addView(c, lp); 47bbd51f1e360b22eece1d74bd65c7e6a0b59dee59Philip Milne 481557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne } 491557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne 507a23b49a8ceb07d3fa12c45fd42cd16131fd746aPhilip Milne 511557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne return p; 521557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne } 531557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne 541557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne protected void onCreate(Bundle savedInstanceState) { 551557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne super.onCreate(savedInstanceState); 561557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne //getApplicationInfo().targetSdkVersion = Build.VERSION_CODES.ICE_CREAM_SANDWICH; 571557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne getApplicationInfo().targetSdkVersion = Build.VERSION_CODES.JELLY_BEAN; 581557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne setContentView(create(this)); 591557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne } 601557fd7809078e421f751efc7d2539b3efdc54b2Philip Milne} 61