`
bk_lin
  • 浏览: 336556 次
社区版块
存档分类
最新评论

一个项目只使用一个Activity初探

阅读更多

提供一个简单案例:

1,新建一个项目

修改和添加三个xml文件:main.xml,item1.xml,item2.xml

a) main.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <LinearLayout  
  8.         android:id="@+id/content"  
  9.         android:layout_width="fill_parent"  
  10.         android:layout_height="0dp"  
  11.         android:layout_weight="1"  
  12.         android:gravity="center_vertical|center_horizontal" >  
  13.     </LinearLayout>  
  14.   
  15.     <Button  
  16.         android:id="@+id/button1"  
  17.         android:layout_width="fill_parent"  
  18.         android:layout_height="wrap_content"  
  19.         android:text="Change" />  
  20.   
  21. </LinearLayout>  
b) item1.xml

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.     <TextView  
  7.         android:id="@+id/tv1"  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="fill_parent"  
  10.         android:text="1111111111111111111111111111111111" />  
  11. </LinearLayout>  
c) item2.xml

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.     <TextView  
  7.         android:id="@+id/tv2"  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="fill_parent"  
  10.         android:text="222222222222222222222222222222222222" />  
  11. </LinearLayout>  

 

修改MainActivity代码:

  1. package com.bison.xxxxxxxxxxxxx;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.view.View.OnClickListener;  
  7. import android.widget.Button;  
  8. import android.widget.LinearLayout;  
  9.   
  10. public class MainActivity extends Activity implements OnClickListener {  
  11.     LinearLayout content;  
  12.     Button btn;  
  13.     LinearLayout item1, item2;  
  14.     boolean isChange = false;  
  15.   
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.         // 初始化控件  
  21.         content = (LinearLayout) this.findViewById(R.id.content);  
  22.         btn = (Button) this.findViewById(R.id.button1);  
  23.         btn.setOnClickListener(this);  
  24.         // 加载item1  
  25.         initItem1();  
  26.     }  
  27.   
  28.     private void initItem1() {  
  29.         item1 = (LinearLayout) LinearLayout.inflate(this, R.layout.item1, null);  
  30.         content.addView(item1);  
  31.     }  
  32.   
  33.     private void initItem2() {  
  34.         item2 = (LinearLayout) LinearLayout.inflate(this, R.layout.item2, null);  
  35.         content.addView(item2);  
  36.     }  
  37.   
  38.     @Override  
  39.     public void onClick(View v) {  
  40.         switch (v.getId()) {  
  41.         case R.id.button1:  
  42.             isChange = !isChange;  
  43.             if (isChange) {  
  44.                 content.removeView(item1);  
  45.                 // 加载item2  
  46.                 initItem2();  
  47.             } else {  
  48.                 content.removeView(item2);  
  49.                 initItem1();  
  50.             }  
  51.             break;  
  52.         }  
  53.     }  
  54.   
  55. }  


 

PS:如果多个Activity具有相同的Header和Footer,则可以考虑使用这种方法来写.

分享到:
评论

相关推荐

    Activity切换之overridePendingTransition初探-代码

    `overridePendingTransition`是一个非常实用的方法,用于自定义Activity之间的过渡动画,从而提升用户体验和应用的视觉吸引力。本文将深入探讨`overridePendingTransition`的使用以及其在Android中的作用。 `...

    Kotlin初探与集成Android项目

    - 下面是一个使用安全调用运算符的例子: ```kotlin fun testNullSafeOperator(string: String?) { System.out.println(string?.toCharArray()?.getOrNull(10)?.hashCode()) } ``` 3. **函数式编程特性:** ...

    三、初探Android开发-Android开发与实践

    7. 可选择是否自动生成Activity,Activity是Android程序的核心组件,代表一个屏幕或用户交互点。 8. 设置SDK最低版本,确保程序能在对应版本及更高版本的Android系统上运行。 ### 2. Android虚拟设备(AVD)的创建 ...

    基于Android的应用软件开发实例初探

    2.3.2 编译运行一个项目:在完成项目创建后,通过Eclipse的“Run”菜单选择“Run As” &gt; “Android Application”来编译并运行应用。 2.4 Android平台应用程序基础 2.4.1 概要:Android应用程序由一组组件构成,...

    第一个Android应用-您好,中国!.pptx

    "项目中,你可能只有一个Activity,它包含一个简单的布局,展示欢迎信息。然而,随着学习的深入,你会接触到更多组件和功能,如Intent(用于组件间通信)、Fragment(用于构建可重用的UI部分)以及自定义View。 **...

    Android自动化测试初探.doc

    Android SDK提供了一个名为HierarchyViewer的工具,它能够显示当前Activity的元素结构,类似于Windows上的UI Spy。虽然HierarchyViewer不支持直接触发事件,但它可以帮助我们理解应用的UI布局,从而为编写自动化测试...

    Android 中的服务初探

    3. 与Activity交互:当一个Activity需要在后台执行一些任务时,可以启动一个服务,完成后再通知Activity。 三、服务的启动方式 1. 显式启动:通过指定服务的完整类名,调用startService()方法启动。这种方式启动的...

    OpenCV初探:二、Android程序示例 源代码

    例如,你可以创建一个`Mat`对象来存储图像数据,并使用各种函数(如`Core.add()`, `Imgproc.filter2D()`等)对图像进行操作。 4. **处理相机输入**: - Android的Camera API或CameraX库可以用于捕获实时视频流。在...

    Launcher源码初探

    在编译和运行Launcher源码之前,确保你已经有一个Android项目环境,包括Eclipse和SDK。接下来,你需要导入下载的Launcher源码到Eclipse中。 - 选择“Create project from existing source”,指向下载的源码目录。...

    基于Android的应用软件开发实例初探.doc

    2.3.1 创建一个Android项目:通过向导可以快速创建新的Android项目,指定项目的名称、包名、最低API版本等。 2.3.2 编译运行一个项目:在编写代码后,可以通过Eclipse或Android Studio的构建工具进行编译,然后通过...

    Notepad.zip

    记事本应用可能会包含多个Activity,比如一个用于创建新记事的Activity,另一个用于查看和编辑已有记事的Activity。Intent则是Android系统中实现组件间通信的主要方式,用于启动Activity或Service。 3. **SQLite...

    学习Android开发之RecyclerView使用初探

    在Android应用开发中,RecyclerView是ListView的一个强大替代品,尤其在遵循Material Design规范时更为适用。RecyclerView因其灵活性和高效性能而被广泛采用。在本文中,我们将探讨RecyclerView的基本使用和与...

    《Android手机开发》教学内容初探.pdf

    《Android手机开发》教学内容初探,主要探讨的是在高等教育中如何有效开展Android应用程序的开发教育,以提升学生的综合能力和适应市场的需求。Android系统已经广泛应用于互联网程序和智能手机,因此,学习Android...

    Activity之AppCompatActivity与toolbar的结合

    `AppCompatActivity`是Android Support Library中提供的一个Activity基类,它提供了对AppCompat库的支持,包括对老版本系统的兼容性和一些新特性。当我们在Android Studio中创建新项目时,默认生成的Activity即继承...

    Feelit:第一个Android项目

    本项目"Feelit: 第一个Android项目"是一个初学者入门的绝佳实践,它以一个简单的闹钟应用为起点,帮助开发者逐步熟悉Android应用程序的构建过程。 首先,我们要理解的是Android开发的基础——Java语言。Java是...

    OnlineFIRAndroidProject:我的第一个项目

    在这个名为"OnlineFIRAndroidProject"的项目中,我们将深入探讨如何使用Java编程语言构建一个Android应用程序。作为一个新手开发者,这可能是你的第一个Android项目,它将带你步入激动人心的移动应用开发世界。 ...

    安卓,自己做的一个简单的游戏登录界面

    安装并启动Android Studio后,创建一个新的项目。选择"Empty Activity"模板,设置项目名称为"MyGame",这与提供的压缩包文件名相呼应。 在项目结构中,主要关注以下几个关键部分: 1. **res/layout**: 这里存放XML...

    HelloKitty:Hello Kitty是第一个Android应用程序

    4. 使用XML布局文件设计UI,比如在res/layout目录下创建一个activity_main.xml文件,放置Hello Kitty的图片和文本标签。 5. 在`onCreate`方法中,通过`setContentView(R.layout.activity_main)`加载布局到Activity。...

Global site tag (gtag.js) - Google Analytics