152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project/*
252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project
352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project *
452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * you may not use this file except in compliance with the License.
652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * You may obtain a copy of the License at
752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project *
852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project *
1052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
1152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
1252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * See the License for the specific language governing permissions and
1452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * limitations under the License.
1552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project */
1652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
1752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectpackage com.example.android.apis.view;
1852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
1952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project//Need the following import to get access to the app resources, since this
2052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project//class is in a sub-package.
2152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectimport com.example.android.apis.R;
2252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
2352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectimport android.app.Activity;
2452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectimport android.os.Bundle;
2552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectimport android.view.Menu;
2652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectimport android.view.Gravity;
2752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectimport android.view.MenuItem;
2852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectimport android.widget.LinearLayout;
2952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
3052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
3152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project/**
3252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project * Demonstrates horizontal and vertical gravity
3352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project */
3452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Projectpublic class LinearLayout8 extends Activity {
3552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
3652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    private LinearLayout mLinearLayout;
3752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
3852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    // Menu item Ids
3952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public static final int VERTICAL_ID = Menu.FIRST;
4052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public static final int HORIZONTAL_ID = Menu.FIRST + 1;
4152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
4252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public static final int TOP_ID = Menu.FIRST + 2;
4352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public static final int MIDDLE_ID = Menu.FIRST + 3;
4452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public static final int BOTTOM_ID = Menu.FIRST + 4;
4552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
4652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public static final int LEFT_ID = Menu.FIRST + 5;
4752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public static final int CENTER_ID = Menu.FIRST + 6;
4852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public static final int RIGHT_ID = Menu.FIRST + 7;
4952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
5052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    @Override
5152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    protected void onCreate(Bundle savedInstanceState) {
5252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        super.onCreate(savedInstanceState);
5352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        setContentView(R.layout.linear_layout_8);
5452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        mLinearLayout = (LinearLayout)findViewById(R.id.layout);
5552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    }
5652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
5752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    @Override
5852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public boolean onCreateOptionsMenu(Menu menu) {
5952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        super.onCreateOptionsMenu(menu);
6052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        menu.add(0, VERTICAL_ID, 0, R.string.linear_layout_8_vertical);
6152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        menu.add(0, HORIZONTAL_ID, 0, R.string.linear_layout_8_horizontal);
6252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        menu.add(0, TOP_ID, 0, R.string.linear_layout_8_top);
6352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        menu.add(0, MIDDLE_ID, 0, R.string.linear_layout_8_middle);
6452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        menu.add(0, BOTTOM_ID, 0, R.string.linear_layout_8_bottom);
6552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        menu.add(0, LEFT_ID, 0, R.string.linear_layout_8_left);
6652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        menu.add(0, CENTER_ID, 0, R.string.linear_layout_8_center);
6752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        menu.add(0, RIGHT_ID, 0, R.string.linear_layout_8_right);
6852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
6952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        return true;
7052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    }
7152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
7252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    @Override
7352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    public boolean onOptionsItemSelected(MenuItem item) {
7452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        switch (item.getItemId()) {
7552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
7652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        case VERTICAL_ID:
7752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            mLinearLayout.setOrientation(LinearLayout.VERTICAL);
7852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            return true;
7952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        case HORIZONTAL_ID:
8052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            mLinearLayout.setOrientation(LinearLayout.HORIZONTAL);
8152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            return true;
8252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
8352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        case TOP_ID:
8452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            mLinearLayout.setVerticalGravity(Gravity.TOP);
8552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            return true;
8652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        case MIDDLE_ID:
8752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            mLinearLayout.setVerticalGravity(Gravity.CENTER_VERTICAL);
8852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            return true;
8952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        case BOTTOM_ID:
9052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            mLinearLayout.setVerticalGravity(Gravity.BOTTOM);
9152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            return true;
9252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
9352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        case LEFT_ID:
9452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            mLinearLayout.setHorizontalGravity(Gravity.LEFT);
9552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            return true;
9652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        case CENTER_ID:
9752d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            mLinearLayout.setHorizontalGravity(Gravity.CENTER_HORIZONTAL);
9852d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            return true;
9952d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        case RIGHT_ID:
10052d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            mLinearLayout.setHorizontalGravity(Gravity.RIGHT);
10152d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project            return true;
10252d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project
10352d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        }
10452d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project        return super.onOptionsItemSelected(item);
10552d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project    }
10652d4c30ca52320ec92d1d1ddc8db3f07f69c4f98The Android Open Source Project}
107