`

ch015 Android ActivityGroup

阅读更多

--------------------------------------------素材----------------------------------------------------

 

--------------------------------------------AndroidManifest.xml----------------------------------

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.ch15"

    android:versionCode="1"

    android:versionName="1.0" >

 

    <uses-sdk

        android:minSdkVersion="8"

        android:targetSdkVersion="15" />

 

    <application

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name=".MainActivity"

            android:label="@string/title_activity_main" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

 

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

        <!-- 我的账户页 -->

        <activity android:name=".AccountActivity"></activity>

        <!-- 分类页 -->

        <activity android:name=".CategoryActivity"></activity>

        <!-- Home页 -->

        <activity android:name=".HomeActivity"></activity>

        <!-- 更多页 -->

        <activity android:name=".MoreActivity"></activity>

        <!-- 购物车页 -->

        <activity android:name=".ShopCartActivity"></activity>

    </application>

 

</manifest>

--------------------------------------------activity_main.xml-------------------------------------

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/LinearLayout1"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical">

 

    <!-- tbar -->

    <include layout="@layout/tbar" />

    <!-- body -->

    <LinearLayout

        android:id="@+id/body"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:background="@drawable/body_back"  android:layout_weight="1">

    </LinearLayout>

 

    <!-- bbar -->

  <include layout="@layout/bbar"/>

 

</LinearLayout>

--------------------------------------------tbar.xml-----------------------------------------------

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/LinearLayout1"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:orientation="vertical" >

 

    <TextView

        android:id="@+id/title" android:background="@drawable/bar_top"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_gravity="center"

        android:text="@string/hello_world"/>

 

</LinearLayout>

--------------------------------------------bbar.xml-----------------------------------------------

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:background="@drawable/bar_bottom"  android:layout_weight="0.01">

 

    <RadioGroup

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:orientation="horizontal" android:id="@+id/group">

 

        <RadioButton

            android:id="@+id/btnA"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:layout_weight="0.2"

            android:button="@drawable/bar_home_normal" />

 

        <RadioButton

            android:id="@+id/btnB"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:layout_weight="0.2"

            android:button="@drawable/bar_treasure_normal" />

 

        <RadioButton

            android:id="@+id/btnC"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:layout_weight="0.2"

            android:button="@drawable/bar_shoppingcart_normal" />

        <RadioButton

            android:id="@+id/btnD"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:layout_weight="0.2"

            android:button="@drawable/bar_account_normal" />

 

        <RadioButton

            android:id="@+id/btnE"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:layout_weight="0.2"

            android:button="@drawable/bar_more_normal" />

    </RadioGroup>

 

</LinearLayout>

--------------------------------------------activity_home.xml------------------------------------

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="home"/>

 

</RelativeLayout>

 

--------------------------------------------activity_category.xml---------------------------------

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="category"/>

 

</RelativeLayout>

 

--------------------------------------------activity_account.xml---------------------------------

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="account"/>

 

</RelativeLayout>

 

--------------------------------------------activity_shopcart.xml--------------------------------

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="shopcart"/>

 

</RelativeLayout>

 

--------------------------------------------activity_more.xml-----------------------------------

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

 

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="more" />

 

</RelativeLayout>

--------------------------------------------MainActivity.java-----------------------------------

package com.ch15;

 

import android.app.ActivityGroup;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.LinearLayout;

import android.widget.RadioGroup;

import android.widget.RadioGroup.OnCheckedChangeListener;

import android.widget.TextView;

 

/**

 * 

 * 项目名称:com.ch15    

 * 类名称:MainActivity    

 * 类描述:启动页面

 * 创建人:方勇   

 * 创建时间:2012-11-23 下午10:26:03   

 * Copyright (c) 方勇-版权所有

 */

public class MainActivity extends ActivityGroup {

 

/* 底部菜单,bbar */

private RadioGroup group;

/* 中间部分,body */

private LinearLayout body;

/* 顶部菜单,tbar */

private TextView view_title;

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViews();

setListeners();

}

 

private void findViews() {

group = (RadioGroup) findViewById(R.id.group);

body = (LinearLayout) findViewById(R.id.body);

view_title = (TextView) findViewById(R.id.title);

}

 

private void setListeners() {

group.setOnCheckedChangeListener(onCheckedChangeListener);

}

 

private OnCheckedChangeListener onCheckedChangeListener = new OnCheckedChangeListener() {

 

@Override

public void onCheckedChanged(RadioGroup group, int checkedId) {

body.removeAllViews();

switch (checkedId) {

/* Home页 */

case R.id.btnA:

/* 设置跳转 */

Intent homeIntent = new Intent();

homeIntent.setClass(MainActivity.this, HomeActivity.class);

/*

 * 1、 Activity和Task(栈)的关系

 * 栈(Task)就像一个容器,而Activity就相当与填充这个容器的东西,

 * 第一个东西(Activity)则会处于最下面,最后添加的东西(Activity)则会在最低端。从Task中取出东西(Activity)则是从最顶端取出,也

 * 就是说最先取出的是最后添加的东西(Activity),一次类推,最后取出的是第一次添加的Activity,

 * 而Activity在Task中的顺序是 可以控制的,那则在Activity跳转时用到Intent Flag

 * 

 * 2、Intent.FLAG

 * 如果activity在task存在,拿到最顶端,不会启动新的Activity

 * intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);

 * 

 * 如果activity在task存在,将Activity之上的所有Activity结束掉

 * intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

 * 

 * 默认的跳转类型,将Activity放到一个新的Task中

 * intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

 * 

 * 如果Activity已经运行到了Task,再次跳转不会再运行这个Activity

 * intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

 */

 

homeIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

/* 获取跳转页面Activity绑定的Layout视图 */

View homeView = getLocalActivityManager().startActivity("home", homeIntent).getDecorView();

/* 添加Layout到Body布局中 */

body.addView(homeView);

/* 设置标题文本 */

view_title.setText("home");

break;

/* 分类页 */

case R.id.btnB:

/* 设置跳转 */

Intent categoryIntent = new Intent();

categoryIntent.setClass(MainActivity.this, CategoryActivity.class);

 

categoryIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

 

View categoryView = getLocalActivityManager().startActivity("category", categoryIntent).getDecorView();

body.addView(categoryView);

 

view_title.setText("category");

break;

/* 购物车页 */

case R.id.btnC:

/* 设置跳转 */

Intent shopcartIntent = new Intent();

shopcartIntent.setClass(MainActivity.this, ShopCartActivity.class);

 

shopcartIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

 

View shopcartView = getLocalActivityManager().startActivity("shopcart", shopcartIntent).getDecorView();

body.addView(shopcartView);

 

view_title.setText("shopcart");

break;

/* 我的账户页 */

case R.id.btnD:

/* 设置跳转 */

Intent accountIntent = new Intent();

accountIntent.setClass(MainActivity.this, AccountActivity.class);

accountIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

View accountView = getLocalActivityManager().startActivity("account", accountIntent).getDecorView();

body.addView(accountView);

view_title.setText("account");

break;

/* 更多页 */

case R.id.btnE:

/* 设置跳转 */

Intent moreIntent = new Intent();

moreIntent.setClass(MainActivity.this, MoreActivity.class);

moreIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

View moreView = getLocalActivityManager().startActivity("more", moreIntent).getDecorView();

body.addView(moreView);

view_title.setText("more");

break;

}

 

}

 

};

}

 

--------------------------------------------HomeActivity.java-----------------------------------

package com.ch15;

 

import android.app.Activity;

import android.os.Bundle;

/**

 * 

 * 项目名称:com.ch15    

 * 类名称:HomeActivity    

 * 类描述: 首页

 * 创建人:方勇   

 * 创建时间:2012-11-23 下午10:25:51   

 * Copyright (c) 方勇-版权所有

 */

public class HomeActivity extends Activity {

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_home);

    }

 

}

--------------------------------------------CategoryActivity.java-------------------------------

package com.ch15;

 

import android.app.Activity;

import android.os.Bundle;

/**

 * 

 * 项目名称:com.ch15    

 * 类名称:CategoryActivity    

 * 类描述:  分类页

 * 创建人:方勇   

 * 创建时间:2012-11-23 下午10:25:34   

 * Copyright (c) 方勇-版权所有

 */

public class CategoryActivity extends Activity {

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_category);

    }

}

 

--------------------------------------------AccountActivity.java--------------------------------

package com.ch15;

 

import android.app.Activity;

import android.os.Bundle;

/**

 * 

 * 项目名称:com.ch15    

 * 类名称:AccountActivity    

 * 类描述: 我的账户页

 * 创建人:方勇   

 * 创建时间:2012-11-23 下午10:25:18   

 * Copyright (c) 方勇-版权所有

 */

public class AccountActivity extends Activity {

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_account);

    }

 

}

 

--------------------------------------------ShopCartActivity.java-------------------------------

package com.ch15;

 

import android.app.Activity;

import android.os.Bundle;

 

public class ShopCartActivity extends Activity {

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_shopcart);

    }

 

 

}

 

--------------------------------------------MoreActivity.java-----------------------------------

package com.ch15;

 

import android.app.Activity;

import android.os.Bundle;

 

public class MoreActivity extends Activity {

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_more);

    }

 

 

}

 

--------------------------------------------效果图------------------------------------------------

 

<!--EndFragment-->

  • 大小: 141.1 KB
  • 大小: 136.9 KB
  • 大小: 6 KB
  • 大小: 9.2 KB
  • 大小: 8.7 KB
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics