diff options
Diffstat (limited to 'samples/ApiDemos/src')
| -rw-r--r-- | samples/ApiDemos/src/com/example/android/apis/view/GridLayout1.java | 6 | ||||
| -rw-r--r-- | samples/ApiDemos/src/com/example/android/apis/view/GridLayout2.java | 32 | ||||
| -rw-r--r-- | samples/ApiDemos/src/com/example/android/apis/view/GridLayout3.java (renamed from samples/ApiDemos/src/com/example/android/apis/view/GridLayout0.java) | 66 |
3 files changed, 70 insertions, 34 deletions
diff --git a/samples/ApiDemos/src/com/example/android/apis/view/GridLayout1.java b/samples/ApiDemos/src/com/example/android/apis/view/GridLayout1.java index f4318e454..3221fa0d7 100644 --- a/samples/ApiDemos/src/com/example/android/apis/view/GridLayout1.java +++ b/samples/ApiDemos/src/com/example/android/apis/view/GridLayout1.java @@ -16,13 +16,13 @@ package com.example.android.apis.view; -import com.example.android.apis.R; - import android.app.Activity; import android.os.Bundle; +import com.example.android.apis.R; /** - * A simple form, showing use of the GridLayout API from XML. + * Demonstrates using GridLayout to build the same "Simple Form" as in the + * LinearLayout and RelativeLayout demos. */ public class GridLayout1 extends Activity { protected void onCreate(Bundle savedInstanceState) { diff --git a/samples/ApiDemos/src/com/example/android/apis/view/GridLayout2.java b/samples/ApiDemos/src/com/example/android/apis/view/GridLayout2.java new file mode 100644 index 000000000..2ad09f497 --- /dev/null +++ b/samples/ApiDemos/src/com/example/android/apis/view/GridLayout2.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.apis.view; + +import com.example.android.apis.R; + +import android.app.Activity; +import android.os.Bundle; + +/** + * A form, showing use of the GridLayout API from XML. + */ +public class GridLayout2 extends Activity { + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.grid_layout_2); + } +} diff --git a/samples/ApiDemos/src/com/example/android/apis/view/GridLayout0.java b/samples/ApiDemos/src/com/example/android/apis/view/GridLayout3.java index 70de1ac39..48a55467a 100644 --- a/samples/ApiDemos/src/com/example/android/apis/view/GridLayout0.java +++ b/samples/ApiDemos/src/com/example/android/apis/view/GridLayout3.java @@ -18,6 +18,7 @@ package com.example.android.apis.view; import android.app.Activity; import android.content.Context; +import android.content.res.Configuration; import android.os.Bundle; import android.view.View; @@ -25,81 +26,84 @@ import android.widget.*; import static android.text.InputType.*; import static android.widget.GridLayout.*; +import static android.widget.GridLayout.LayoutParams; /** - * A simple form, showing use of the GridLayout API. + * A form, showing use of the GridLayout API. Here we demonstrate use of the row/column order + * preserved property which allows rows and or columns to pass over each other when needed. + * The two buttons in the bottom right corner need to be separated from the other UI elements. + * This can either be done by separating rows or separating columns - but we don't need + * to do both and may only have enough space to do one or the other. */ -public class GridLayout0 extends Activity { - +public class GridLayout3 extends Activity { public static View create(Context context) { GridLayout p = new GridLayout(context); p.setUseDefaultMargins(true); p.setAlignmentMode(ALIGN_BOUNDS); - p.setRowOrderPreserved(false); + Configuration configuration = context.getResources().getConfiguration(); + if ((configuration.orientation == Configuration.ORIENTATION_PORTRAIT)) { + p.setColumnOrderPreserved(false); + } else { + p.setRowOrderPreserved(false); + } - Spec row1 = spec(0); - Spec row2 = spec(1); - Spec row3 = spec(2, BASELINE); - Spec row4 = spec(3, BASELINE); - Spec row5 = spec(2, 3, FILL); // allow the last two rows to overlap the middle two - Spec row6 = spec(5); - Spec row7 = spec(6); + Spec titleRow = spec(0); + Spec introRow = spec(1); + Spec emailRow = spec(2, BASELINE); + Spec passwordRow = spec(3, BASELINE); + Spec button1Row = spec(5); + Spec button2Row = spec(6); - Spec col1a = spec(0, 4, CENTER); - Spec col1b = spec(0, 4, LEFT); - Spec col1c = spec(0, RIGHT); - Spec col2 = spec(1, LEFT); - Spec col3 = spec(2, FILL); - Spec col4a = spec(3); - Spec col4b = spec(3, FILL); + Spec centerInAllColumns = spec(0, 4, CENTER); + Spec leftAlignInAllColumns = spec(0, 4, LEFT); + Spec labelColumn = spec(0, RIGHT); + Spec fieldColumn = spec(1, LEFT); + Spec defineLastColumn = spec(3); + Spec fillLastColumn = spec(3, FILL); { TextView c = new TextView(context); c.setTextSize(32); c.setText("Email setup"); - p.addView(c, new LayoutParams(row1, col1a)); + p.addView(c, new LayoutParams(titleRow, centerInAllColumns)); } { TextView c = new TextView(context); c.setTextSize(16); - c.setText("You can configure email in just a few steps:"); - p.addView(c, new LayoutParams(row2, col1b)); + c.setText("You can configure email in a few simple steps:"); + p.addView(c, new LayoutParams(introRow, leftAlignInAllColumns)); } { TextView c = new TextView(context); c.setText("Email address:"); - p.addView(c, new LayoutParams(row3, col1c)); + p.addView(c, new LayoutParams(emailRow, labelColumn)); } { EditText c = new EditText(context); c.setEms(10); c.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_EMAIL_ADDRESS); - p.addView(c, new LayoutParams(row3, col2)); + p.addView(c, new LayoutParams(emailRow, fieldColumn)); } { TextView c = new TextView(context); c.setText("Password:"); - p.addView(c, new LayoutParams(row4, col1c)); + p.addView(c, new LayoutParams(passwordRow, labelColumn)); } { TextView c = new EditText(context); c.setEms(8); c.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD); - p.addView(c, new LayoutParams(row4, col2)); - } - { - Space c = new Space(context); - p.addView(c, new LayoutParams(row5, col3)); + p.addView(c, new LayoutParams(passwordRow, fieldColumn)); } { Button c = new Button(context); c.setText("Manual setup"); - p.addView(c, new LayoutParams(row6, col4a)); + p.addView(c, new LayoutParams(button1Row, defineLastColumn)); } { Button c = new Button(context); c.setText("Next"); - p.addView(c, new LayoutParams(row7, col4b)); + p.addView(c, new LayoutParams(button2Row, fillLastColumn)); } return p; |
