ActivityGroup使用实例

掌握Android中ActivityGroup的菜单实现与迁移至Fragment 本文还有配套的精品资源,点击获取 简介:在Android早期版本中, ActivityGroup 用于管理和展示多个子Activity,形成多级菜单效果。但自Android 3.0起, ActivityGroup 已废弃,被 Fragment 和 FragmentManager 所取代,后者提供更强大的界面构建方式。尽... 阅读详情

通过名字,就应该知道ActivityGroup是一个Activity的管理器,对于一组Activity的管理非常方面。下面是实例代码:

ActivityGroupTest.java

package app.imo;

import android.app.ActivityGroup;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ImageView;
import android.widget.ScrollView;

/**
 * 
 * @author fengxiaowei
 * 
 */
public class ActivityGroupTest extends ActivityGroup {
	private ScrollView container = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 隐藏标题栏
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		// 设置视图
		setContentView(R.layout.activity_group);

		container = (ScrollView) findViewById(R.id.containerBody);

		// 模块1
		ImageView btnModule1 = (ImageView) findViewById(R.id.btnModule1);
		btnModule1.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				container.removeAllViews();
				container.addView(getLocalActivityManager().startActivity("Module1",
						new Intent(ActivityGroupTest.this, ModuleView1.class).addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)).getDecorView());
			}
		});

		// 模块2
		ImageView btnModule2 = (ImageView) findViewById(R.id.btnModule2);
		btnModule2.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				container.removeAllViews();
				container.addView(getLocalActivityManager().startActivity("Module2",
						new Intent(ActivityGroupTest.this, ModuleView2.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView());
			}
		});

		// 模块3
		ImageView btnModule3 = (ImageView) findViewById(R.id.btnModule3);
		btnModule3.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				container.removeAllViews();
				container.addView(getLocalActivityManager().startActivity("Module3",
						new Intent(ActivityGroupTest.this, ModuleView3.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView());
			}
		});
	}

}

activity_group.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal" >

        <TextView
            android:id="@+id/cust_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="模块1"
            android:textColor="@android:color/white"
            android:textSize="28sp" >
        </TextView>
    </LinearLayout>
    <!-- 中间动态加载View -->

    <ScrollView
        android:id="@+id/containerBody"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:measureAllChildren="true" >
    </ScrollView>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="@android:color/black"
        android:orientation="horizontal" >

        <!-- 功能模块按钮1 -->

        <ImageView
            android:id="@+id/btnModule1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="3dp"
            android:layout_marginLeft="7dp"
            android:layout_marginTop="3dp"
            android:src="@android:drawable/ic_dialog_dialer" />
        <!-- 功能模块按钮2 -->


        <ImageView
            android:id="@+id/btnModule2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="3dp"
            android:layout_marginLeft="7dp"
            android:layout_marginTop="3dp"
            android:src="@android:drawable/ic_dialog_info" />
        <!-- 功能模块按钮3 -->

        <ImageView
            android:id="@+id/btnModule3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="3dp"
            android:layout_marginLeft="7dp"
            android:layout_marginTop="3dp"
            android:src="@android:drawable/ic_dialog_alert" />
    </LinearLayout>

</LinearLayout>

ModuleView1,ModuleView2,ModuleView3就是三个简单的Activity,这里就不贴代码了。

值得关注的地方:
Intent.FLAG_ACTIVITY_REORDER_TO_FRONT

使用ActivityGroup管理Activity NULL 博文链接:https://fanhongtao.iteye.com/blog/1430893 立即下载

相关推荐

Android中ActivityGroup的应用

ActivityGroup的用法,头部和底部为固定布局中间动态显示界面 并在中间布局实现手势滑动效果,自定义SlidingDrawer(抽屉)效果,在ActivityGroup里执行跳转等功能。至于在Android在ActivityGroup里执行跳转详细介绍 请到我百度空间查看。运行效果也在下面地址可以看到。 http://hi.baidu.com/qinxiaowei137/blog/item/32a3761703ba6febc3ce798b.html

Android组件通信——ActivityGroup(二十五)

Android组件通信之ActivityGroup。

毛栗子201105的博客 1074

Android开发—使用ActivityGroup来切换Activity和Layout.pdf

Android开发—使用ActivityGroup来切换Activity和Layout.pdf

ActivityGroup的简单用法

1.首先要通过getLocalActivityManager()方法得到一个LocalActivityManager LocalActivityManager am= getLocalActivityManager(); 2.然后通过LocalActivityManager的startActivity(String id, Intent intent),可以与指定的Actiivty绑定,并且返回一个Window。LocalActivityManager可以同时管理多个Activity Windo

answan的博客 774

UE5.1实战:从零到打包,手把手教你用UMG和蓝图搭建智慧城市数字孪生界面

本文详细介绍了如何使用UE5.1的UMG和蓝图系统从零开始构建智慧城市数字孪生界面。通过环境准备、UMG界面设计、蓝图功能实现、数据绑定到最终打包发布的全流程指导,帮助开发者掌握数字孪生技术的核心应用,提升智慧城市可视化开发效率。

weixin_30251829的博客 619

Innovus Flexible H-tree and Multi-tap Clock Flow Lab实操系列教程(Day1)

Innovus Flexible H-tree and Multi-tap Clock Flow Lab实操系列教程(Day1)

weixin_37584728的博客 2637

Android学习10-----Android组件通信 (3) ActivityGroup

导航栏在 Android 中的应用是很常见的,前面我们学习 Android 组件时发现 TabHost 组件是可以完成的,但是 TabHost 组件在操作中因为其使用困难,所以一般不会作为界面分页框架的首选,使用最多的是 ActivityGroup 与 GridView 相结合的方式完成。          ...

王旭东 369

绕过Google Play:获取Expo Go安卓APK的实用指南

本文为国内安卓开发者提供了绕过Google Play商店获取Expo Go APK的实用指南。针对无法访问Google Play的痛点,详细介绍了通过官方GitHub Releases、可信第三方网站(如APKMirror)及APK下载器等多种安全获取途径,并重点讲解了APK安装、安全验证(核对签名)及常见连接问题的排查方法,帮助开发者顺利开启React Native开发之旅。

weixin_29006701的博客 577

Android ActivityGroup简介

1、Android 5.0层叠式卡片布局(类似原生多任务栏的效果) https://github.com/vikramkakkar/DeckView 2、网络图片异步加载 https://github.com/nostra13/Android-Universal-Image-Loader

寒江蓑笠的专栏 2641

零成本接入Gemini Pro:GCP+NewAPI+OpenCode全栈方案

AI编程助手在现代开发流程中扮演着越来越重要的角色,其核心原理是通过大语言模型理解开发者意图并生成代码。以Gemini Pro为代表的顶级模型虽然能力出众,但成本控制和接入复杂度成为主要痛点。通过Google Cloud Platform的免费额度与开源工具链组合,开发者可以构建零成本的AI辅助开发环境。该方案采用Vertex AI作为基础模型服务,通过New API实现协议转换,最终与OpenCode终端工具深度集成。这种架构特别适合需要长期稳定使用AI编程助手的开发者,既能享受Gemini Pro的百万

weixin_29051245的博客 428

【超详细】安装了anaconda后,Ubuntu18+COLMAP配置疯狂踩坑踩至魔怔的记录

本博客收集了博主在Ubuntu18系统中编译COLMAP所遇到的困难,提供了解决方法,也收集了目前网上大多数的坑,除此之外,也为Ubuntu18系统下COLMAP的安装提供了一种新的路径。

Stay_Foo_lish的博客 3509

android ActivityGroup认识

1)  ActivityGroup       根据SDK的解释其功能“A screen that contains and runs multiple embedded activities.”。翻译成汉语也就是大概"在Android中,ActivityGroup类是Activity的容器,可以包含多个嵌套进来的Activitys".接下来依然采用源码分析的方式来了解该类的内部实现。

stonesharp的专栏 4417

VisionTransformer改进(11):结合CoordAtt注意力机制

​​CoordAtt模块​​:一个轻量级的坐标注意力机制​​ViT模型​​:基于标准Vision Transformer架构,但集成了CoordAtt模块模型最终通过CNNModel函数封装,虽然名称是CNN,但实际上是一个Transformer模型。引入了轻量级的CoordAtt注意力机制,增强了模型对空间位置信息的捕捉能力保持了ViT的主要优势,同时通过注意力机制提升了特征表示能力设计简洁高效,适合作为基础模型进行进一步研究和应用。

2401_82355416的博客 701

ActivityGroup简介

ActivityGroup简介 1.ActivityGroup的核心就是继承了该类,能够通过getLocalActivityManager()得到一个LocalActivityManager 如,LocalActivityManager  am= getLocalActivityManager(); 2.然后通过LocalActivityManager通过startActivit

1万+

Ollama系列---【ollama使用gpu运行大模型】

一、安装CudaToolkit 使用控制台命令查看当前显卡驱动中的cuda版本 nvidia-smi 二、下载CudaToolkit 注意:CudaToolkit版本要低于上面的显卡Cuda版本。 Cuda各版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive 下载好之后,一路下一步,一直默认即可。 如果安装到了自定义的位置,记得加环...

-少年-的博客 7982

【优化求解】基于matlab粒子群算法PSO确定最佳开关角对称级联多层逆变器【含Matlab源码 13080期】

粒子群算法PSO确定最佳开关角对称级联多层逆变器 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 97

Android ActivityGroup

在android应用中底部导航栏可以说是十分常见的,如新浪微博,微信等都是这种设计,大家在做这种应用第一反应就是使用TabActivity,今天就来分享下如何用ActivityGroup来代替TabActivity,以及这样使用的优点。 ActivityGroup是Google提供的一个非常优秀的API,而TabActivity是ActivityGroup唯一的一个子类。 Activi

Android_Dev_Tigger的博客 478

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ActivityGroup 例子

虽然从Android 3.0(android-11)开始就建议使用Fragment、FragmentManager来替代ActivityGroup,但毕竟老版本还有很大的市场,一时半会不会选择那么高的版本,还得用ActivityGroup。 下面以一个简单的例子说明应该如何通过ActivityGroup来管理Activity。 程序截图:

EvoShark的专栏 2065

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

使用ActivityGroup类显示多个Activity

有些情况下需要把一个Activity分割成几部分,如上半部分绘制图形,下半部分显示图表,这时就需要用到ActivityGroup。 定义一个类继承自ActivityGroup,Java文件如下: package com.h.callsta; import android.app...

chunzangzuo6245的博客 126

ActivityGroup 使用

ActivityGroup简介 1.ActivityGroup的核心就是继承了该类,能够通过getLocalActivityManager()得到一个LocalActivityManager 如,LocalActivityManager  am= getLocalActivityManager(); 2.然后通过LocalActivityManager通过startActivit

qinxiaojiexxx的专栏 554

ActivityGroup中切换Activity

通过在网上搜索,找到了很多关于ActivityGroup的用法,里面主要是“农民伯伯”的那个范例,让我学到了如何利用ActivityGroup实现底部固定,中间可动态加载Activity的界面。但一直有一个难言之隐没有解决:如果通过底问按钮打一个Activity A后,在A中点击某个按钮,想打开另一个Activity B,此时如果是直接使用Intent,然后startActivity(intent)打开B的话,则会在全屏打开B,而不能保持在ActivityGroup中间打开,保持底部按钮固定。后来一直没有想

6431

ActivityGroup的用法以及源码探究

一.转自家民伯伯的ActivityGroup用法(博客园:http://www.cnblogs.com 农民伯伯: http://www.cnblogs.com/over140/ ) 家民伯伯他用此容器做了个TAB。 虽然也可以,但个人感觉还是喜欢自己做TAB的方式:布局将下面按钮区域做成单选框,然后来引发对应content,减去很多麻烦。 以下只做ActivityGroup学习参考: 正文

hutengfei0701的专栏 849

ActivityGroup详解

本文转载自http://blog.youkuaiyun.com/caowenbin/article/details/5876019 此前,我们对Activity进行了一些学习,在Android中,还提供了一个ActivityGroup类,该类是Activity的容器,可以包含多个嵌套进来的Activitys,我们接下来依然采用源码分析的方式来了解该类的内部实现。 首先,从SDK中和源码中都可以获知,Act

lions88的博客专栏 2075

使用ActivityGroup来切换Activity和Layout

转自 http://www.cnblogs.com/over140/archive/2010/09/07/1820876.html 核心代码如下,ActivityGroup继承自Activity public class ActivityG extends ActivityGroup { @Override public void onCreate(Bundle save

ashqal的专栏 1019
上一篇: Intent的Flag
下一篇: 即时通讯软件协议选择
coding_or_coded
博客等级 码龄16年 216粉丝 115原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值