- 浏览: 375788 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangchong_kevin:
放在drawable-hdpi目录下的图片,如果在mdpi分辨 ...
BitmapFactory.Options 解决加载大图片OOM -
darren_nizna:
Netty 实战(精髓) http://gitlore. ...
Java NIO框架Netty教程(一) Hello Netty(转) -
大家来学习:
国内首部NIO+Netty5各种RPC架构实战演练课程观看地址 ...
Java NIO框架Netty教程(一) Hello Netty(转) -
lipeixiaoyu:
[color=red][/color]123
IOS UIView的clipsToBounds属性 -
ramon1989:
问一下,你的SimpleChannelHandler是哪个包下 ...
Java NIO框架Netty教程(一) Hello Netty(转)
前言
在一个主界面中做Activity切换一般都会用TabActivity,使用方便,Activity互相之间相对独立,但是可定制性不强,而且修改起来很麻烦。当然也可以把layout分开,把逻辑代码全写在主界面的逻辑代码中,但是很明显可维护性相当差,这里通过ActivityGroup来解决这个问题。
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com
农民伯伯: http://www.cnblogs.com/over140/
文章
1. Android: TabActivity Nested Activities
2. Android ActivityGroup的使用代码将子activty 的layout加入到主activity中
正文
一、效果图
要求点击底部不同图片按钮切换不同的Activity,并在中间显示Activity对应的ContentView。
二、 实现代码
2.1 layout.xml
复制代码
2.2 TestView.java
复制代码
代码说明:
a). ModuleView1、ModuleView2、 ModuleView3分别继承自Activity。
b). 想动态改变标题可以通过cust_title获取TextView进行设置。
结束
在一个主界面中做Activity切换一般都会用TabActivity,使用方便,Activity互相之间相对独立,但是可定制性不强,而且修改起来很麻烦。当然也可以把layout分开,把逻辑代码全写在主界面的逻辑代码中,但是很明显可维护性相当差,这里通过ActivityGroup来解决这个问题。
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com
农民伯伯: http://www.cnblogs.com/over140/
文章
1. Android: TabActivity Nested Activities
2. Android ActivityGroup的使用代码将子activty 的layout加入到主activity中
正文
一、效果图
要求点击底部不同图片按钮切换不同的Activity,并在中间显示Activity对应的ContentView。
二、 实现代码
2.1 layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="fill_parent"> <LinearLayout android:gravity="center_horizontal" android:background="@drawable/myinfor2" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/cust_title" android:textColor="@android:color/white" android:textSize="28sp" android:text="模块1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> </LinearLayout> <!-- 中间动态加载View --> <ScrollView android:measureAllChildren="true" android:id="@+id/containerBody" android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent"> </ScrollView> <LinearLayout android:background="@android:color/black" android:layout_gravity="bottom" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <!-- 功能模块按钮1 --> <ImageView android:id="@+id/btnModule1" android:src="@android:drawable/ic_dialog_dialer" android:layout_marginLeft="7dp" android:layout_marginTop="3dp" android:layout_marginBottom="3dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <!-- 功能模块按钮2 --> <ImageView android:id="@+id/btnModule2" android:src="@android:drawable/ic_dialog_info" android:layout_marginLeft="7dp" android:layout_marginTop="3dp" android:layout_marginBottom="3dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <!-- 功能模块按钮3 --> <ImageView android:id="@+id/btnModule3" android:src="@android:drawable/ic_dialog_alert" android:layout_marginLeft="7dp" android:layout_marginTop="3dp" android:layout_marginBottom="3dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout>
复制代码
2.2 TestView.java
/** * 使用ActivityGroup来切换Activity和Layout * @author 农民伯伯 * @version 2010-9-7 * */ public class TestView extends ActivityGroup { private ScrollView container = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 隐藏标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置视图 setContentView(R.layout.layout); container = (ScrollView) findViewById(R.id.containerBody); // 模块1 ImageView btnModule1 = (ImageView) findViewById(R.id.btnModule1); btnModule1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { container.removeAllViews(); container.addView(getLocalActivityManager().startActivity( "Module1", new Intent(TestView.this, ModuleView1.class) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView()); } }); // 模块2 ImageView btnModule2 = (ImageView) findViewById(R.id.btnModule2); btnModule2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { container.removeAllViews(); container.addView(getLocalActivityManager().startActivity( "Module2", new Intent(TestView.this, ModuleView2.class) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView()); } }); // 模块3 ImageView btnModule3 = (ImageView) findViewById(R.id.btnModule3); btnModule3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { container.removeAllViews(); container.addView(getLocalActivityManager().startActivity( "Module3", new Intent(TestView.this, ModuleView3.class) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView()); } }); } }
复制代码
代码说明:
a). ModuleView1、ModuleView2、 ModuleView3分别继承自Activity。
b). 想动态改变标题可以通过cust_title获取TextView进行设置。
结束
发表评论
-
AIDL传输复杂数据示例
2014-05-16 16:11 4858自定义一个Person类,并实现Parcelable接口, ... -
AIDL传输简单数据类型示例
2014-05-15 16:04 945定义一个AIDL接口(扩展名.aidl): pa ... -
android 相关组件的生命周期
2014-05-14 10:47 604Activity: Fragment: ... -
service启动的两种方式和IntentService
2014-05-04 11:47 3258启动一个service有两种方式: 通过Contex ... -
activity四种启动模式
2014-04-30 14:32 816activity的四种启动模式: standard: ... -
android Fragment基础
2014-04-25 16:07 1222创建一个Fragment 如果要创建一 ... -
Intent 的ACTION_CHOOSER和ACTION_PICK_ACTIVITY用法
2014-04-24 14:53 8364ACTION_CHOOSER 用来显示一 ... -
Intent和Intent Filters
2014-04-24 11:15 779Intent主要包含Componet name、Action ... -
Android 异步加载一张网络图片
2014-03-18 16:24 781/** * 从网络上异步加载单个图片 * * ... -
BitmapFactory.Options 解决加载大图片OOM
2014-02-24 16:00 12865当在android应 ... -
android 使用getDrawable和BitmapFactory.decodeResource加载图片资源区别
2014-02-21 11:49 3258在android中,使用this.getR ... -
Drawable资源之LevelListDrawable资源
2014-02-17 14:42 1002A Drawable that manages a numb ... -
Drawable资源之ScaleDrawable资源
2014-02-17 14:25 1335A drawable defined in XML that ... -
Drawable资源之ClipDrawable资源
2014-02-17 10:55 1092A drawable defined in XML tha ... -
Drawable资源之ShapeDrawable资源
2014-02-17 10:40 1099This is a generic shape define ... -
Drawable资源之LayerDrawable资源
2014-02-14 16:18 922A LayerDrawable is a drawable ... -
Drawable资源之StateListDrawable资源
2014-02-14 15:29 1297StateListDrawable用于组织多个Dr ... -
android value 资源
2014-02-14 11:22 1094This page defines more types ... -
value目录资源(Resources)
2014-02-14 10:58 2以下内容来自android doc 文档 Bool ... -
android应用资源总结
2014-02-13 15:14 850一.应用资源的存储 存储目录 存放的资 ...
相关推荐
Android 开发—使用 ActivityGroup 来切换 Activity 和 Layout Android 开发中,经常需要在不同的 Activity 之间进行切换,并且显示不同的ContentView。为了实现这个功能,我们可以使用 ActivityGroup 来管理不同...
随着Android SDK的更新,现在更推荐使用 Fragments 和 AppCompatActivity 来实现界面的切换和布局管理。 在上述的描述中,开发者想要实现一个应用,其中底部有三个功能模块的图片按钮(btnModule1、btnModule2、...
[Android]使用ActivityGroup来切换Activity和Layout - 农民伯伯 - 博客园.mht459.50 KB [Android]发布Sqlite数据库 - 农民伯伯 - 博客园.mht369.93 KB [Android]手动触发OnClick事件 - 农民伯伯 - 博客园.mht357.93 ...
要使用ActivityGroup,你需要继承自ActivityGroup,并且在子Activity中定义一个Layout,然后通过Group中的LocalActivityManager来管理这些子Activity。LocalActivityManager可以启动、销毁和切换子Activity,并且...
在本文中,我们将深入探讨如何使用ActivityGroup来实现Tab功能,以及它的工作原理和限制。 1. **ActivityGroup的介绍** ActivityGroup是android.app.Activity的一个子类,它提供了在同一个栈中管理多个Activity的...
在Android应用开发中,随着平台的发展,一些早期的技术逐渐被淘汰,比如Tabhost和ActivityGroup,它们曾经是实现界面切换和管理的常用方式。然而,随着Android SDK的更新,Fragment成为了更现代、更灵活的组件,可以...
ActivityGroup内部可以维护一个活动栈,通过切换栈顶的Activity来实现页面的切换效果。 源码中可能包含了以下关键部分: 1. TabHost的配置:在布局XML文件中定义TabHost,并在代码中对其进行初始化,添加TabSpec,...
在Android应用开发中,TabHost和ActivityGroup是两个重要的组件,它们被用来实现多标签页的界面管理和在各个标签页间切换活动。本压缩包提供的源码是关于如何在Android项目中利用TabHost内嵌ActivityGroup来管理多个...
这个教程将带你了解如何使用`ActivityGroup`和`GridView`来实现Tab分页,从而达到高仿微信界面的效果。`ActivityGroup`是Android早期版本中用于在一个Activity内嵌套其他Activity的方式,而`GridView`则是一个可以...
3. 如果使用ActivityGroup,你需要创建一个自定义的ActivityGroup类,例如`MyActivityGroup.java`,并重写`onCreateView()`和`onDestroyView()`方法,以便在切换选项卡时管理子Activity的生命周期。 4. 最后,对于...
通过深入学习并实践"ActivityGroupDemo",你可以掌握如何使用`ActivityGroup`和`TabHost`来构建多选项卡的Android应用。但要注意,随着Android版本的更新,`ActivityGroup`在新的API级别中已经被弃用,建议使用`...
OnClickListener() { public void onClick(View v) { AlertDialog dlg = new AlertDialog.Builder(ArtistsActivity.this) .setTitle("Login Exit").... Activity 可以经常性地在 resumed 和 paused 状态之间切换,
本示例提供三种不同的方法来实现底部标签页,包括使用`TabActivity`、`ActivityGroup`以及`FragmentActivity`。下面我们将详细探讨这三种实现方式。 首先,`TabActivity`是Android早期版本(API 13之前)中用于实现...
总的来说,"RadioButton分页菜单"是一个利用RadioButton和Fragment(或过时的ActivityGroup)实现页面切换的示例。通过合理地组合这些组件,可以创建出用户友好的界面,让用户轻松在多个选项间进行选择。同时,随着...
使用Android Studio提供的工具,如Layout Inspector和Profile GPU渲染,来优化布局性能和减少过度绘制。 综上所述,虽然"ActivityGroup"在现代Android开发中已经不再推荐使用,但通过使用Fragment、Bottom...
在`TabActivity`的实现中,通常会使用`TabHost`和`TabSpec`来创建和设置标签。`TabHost`是一个容器,用于显示和管理多个`TabSpec`。`TabSpec`则是每个标签的配置,包括标签的文本、图标以及对应的`Intent`,这个`...
然而,在旧版应用中,`TabActivity`仍然是一个重要的概念,因为它提供了一种简单的方式来组织多个`Activity`或`View`并实现它们之间的切换。 `AndroidManifest.xml`文件是每个Android应用的核心配置文件,它包含了...
在使用Fragment实现类似`ActivityGroup`的效果时,可以使用`FragmentManager`来添加、替换和管理Fragment。例如: ```java FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.begin...
在现代Android开发中,我们通常使用`Fragment`来替代`ActivityGroup`,并结合`ViewPager`实现页面滑动和Tab切换。 总结起来,创建自定义Tab选择项卡涉及Android布局设计、自定义UI组件、事件监听以及页面切换逻辑。...