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