--------------------------------------------素材----------------------------------------------------
|
|
|
--------------------------------------------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-->
相关推荐
在Android开发中,ActivityGroup是一种特殊的Activity容器,它允许在一个Activity内部嵌套多个子Activity,形成类似多级菜单或者Tab效果。本示例"android ActivityGroup的demo"将深入探讨如何使用ActivityGroup来...
在Android应用开发中,ActivityGroup是一种特殊的容器,它允许在一个栈结构中管理多个子Activity,常见于早期Android版本(低于Android 3.0)的Tab布局或者自定义导航栏设计中。ActivityGroup的主要目的是实现类似...
android activitygroup 的使用方法代码sample,可提供大家借鉴
ActivityGroup的用法,头部和...至于在Android在ActivityGroup里执行跳转详细介绍 请到我百度空间查看。运行效果也在下面地址可以看到。 http://hi.baidu.com/qinxiaowei137/blog/item/32a3761703ba6febc3ce798b.html
android ActivityGroup demo,清晰简洁的一个例子
现在的项目框架中很少用到activitygroup这种东西,谷歌也标识其为过时的产物了,但是在很多老项目中activitygroup还是普遍存在的,但是随之而来的就是activitygroup下的edittext一旦输入文字后便不能删除。...
在Android开发中,ActivityGroup是一种特殊的Activity类型,它允许开发者在一个Activity中嵌套其他Activity,形成多层级的界面结构。这个“ActivityGroup应用实例”应该是一个详细的教程,旨在帮助开发者理解如何...
博客地址:http://blog.csdn.net/djy1992/article/details/47880719 网上有一种方法说是监听dispatchKeyEvent,然并卵啊。 建议使用这种方法,完美解决。
在Android开发中,ActivityGroup是一个老概念,它属于早期Android版本(2.2及更低)中的TabHost实现的一部分,用于在一个Tab内管理多个Activity。尽管在Android 3.0(API级别11)之后,ActivityGroup被废弃,...
Android 开发—使用 ActivityGroup 来切换 Activity 和 Layout Android 开发中,经常需要在不同的 Activity 之间进行切换,并且显示不同的ContentView。为了实现这个功能,我们可以使用 ActivityGroup 来管理不同...
在Android开发中,ActivityGroup是一种特殊类型的Activity,它允许开发者在一个Activity内嵌套其他Activity,实现类似TabHost或Fragment的效果,但这是在Android早期版本(API级别较低)中的一种实现方式。...
ActivityGroup是Android早期版本(Android 2.x)中提供的一种特殊类型的Activity,它允许开发者在一个单独的Task中管理多个子Activity,从而实现类似Tab切换的效果。不过,随着Android版本的更新,ActivityGroup逐渐...
"Android Gallery+ActivityGroup实现滑动TAB独立Activity"是一个设计模式,它利用Android的Gallery组件和ActivityGroup来达到这一目的。在这个模式中,每个Tab都对应一个独立的Activity,从而提供更灵活和丰富的用户...
Android项目ActivityGroup + GridView + ViewFlipper 实现选项卡 本项目是一个基于Android平台的应用程序,它实现了选项卡功能。通过结合ActivityGroup、GridView和ViewFlipper组件,我们能够创建一个流畅、直观的...
在Android开发中,ActivityGroup是早些版本API中提供的一种特殊类型的Activity,它允许开发者在一个TabHost或者帧布局(FrameLayout)中嵌套多个Activity,从而实现类似iOS中UINavigationController的堆叠管理器效果...
在Android开发中,`ActivityGroup`是一个特殊类型的`Activity`,它允许我们在一个父`Activity`中嵌套多个子`Activity`。这个概念通常用于实现类似TabHost或者多级导航的效果,使得用户可以在一个单一的栈结构中进行...
`ActivityGroup`是早期Android版本(Android 2.x)提供的一种特殊类型的`ViewGroup`,允许在同一个`TabHost`或`FrameLayout`中嵌套显示多个Activity,以实现类似多级菜单或者子窗口的效果。但是,由于在Android 3.0...
ActivityGroup是Android开发中的一个较老的概念,它属于TabHost的一种特殊实现,主要在早期的Android版本中用于在一个TabHost内部嵌套多个Activity。在现在的Android开发中,已经被Fragment和ViewPager等更现代、更...
在Android开发中,TabHost和ActivityGroup是两个关键组件,常用于实现多页面的导航和界面管理。在本文中,我们将深入探讨如何使用TabHost内嵌ActivityGroup来创建复杂的用户界面,并通过源码分析理解其工作原理。 ...
本资源“安卓Android源码——TabHost内嵌ActivityGroup界面管理源码.zip”提供了一个实例,帮助开发者理解如何在TabHost中嵌入ActivityGroup来实现复杂的界面管理。 TabHost是Android SDK提供的一种用于创建多标签...