android ActivityGroup 的使用

代码部分:

<?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:gravity="center_horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
        <TextView 
            android:id="@+id/cust_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@android:color/white"
            android:textSize="18sp"
            />
    </LinearLayout>
    <!-- 中间动态加载view -->
     <ScrollView 
         android:id="@+id/containerBody"
         android:layout_width="fill_parent"
         android:layout_height="300dip"
         >
         
     </ScrollView>
     
     <LinearLayout 
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="bottom"
         android:orientation="horizontal"
         >
         <!-- 功能模块1 -->
         <ImageView 
             android:id="@+id/btnModule1"
             android:src="@android:drawable/ic_dialog_dialer"
             android:layout_marginLeft="7dip"
             android:layout_marginTop="3dip"
             android:layout_marginBottom="3dip"
             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="7dip"
             android:layout_marginTop="3dip"
             android:layout_marginBottom="3dip"
             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="7dip"
             android:layout_marginTop="3dip"
             android:layout_marginBottom="3dip"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             />
     </LinearLayout>
</LinearLayout>
package com.yek;

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

public class LearnActivity extends ActivityGroup implements OnClickListener{
    
    private TextView title;
    private ScrollView contain;
    private ImageView btnOne;
    private ImageView btnTwo;
    private ImageView btnThree;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_group_layout);
        initView();
        setListener();
    }
    
    private void initView(){
        title = (TextView)findViewById(R.id.cust_title);
        contain = (ScrollView)findViewById(R.id.containerBody);
        btnOne = (ImageView)findViewById(R.id.btnModule1);
        btnTwo = (ImageView)findViewById(R.id.btnModule2);
        btnThree = (ImageView)findViewById(R.id.btnModule3);
    }
    
    private void setListener(){
        btnOne.setOnClickListener(this);
        btnTwo.setOnClickListener(this);
        btnThree.setOnClickListener(this);
        
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.btnModule1:
            btnOneListener(ModuleView1.class);
            break;
        case R.id.btnModule2:
            btnOneListener(ModuleView2.class);
            break;
        case R.id.btnModule3:
            btnOneListener(ModuleView3.class);
            break;
        }
    }
    
    private void btnOneListener(Class clazz){
        contain.removeAllViews();
        View view = getLocalActivityManager().startActivity("Module1", new Intent(this,clazz).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
        contain.addView(view);
    }
    
}
<?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" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="@string/hello" 
        android:id="@+id/content"
        />
    

</LinearLayout>
package com.yek;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class ModuleBaseActivity extends Activity {
    private TextView content;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        content = (TextView)findViewById(R.id.content);
        
    }
    
    /**
     * 设置内容
     * @param str
     */
    public void setContentText(String str){
        content.setText(str);
    }
    
    /**
     * 设置背景色
     * @param colorId
     */
    public void setBackground(int colorId){
        content.setBackgroundColor(colorId);
    }
}
package com.yek;

import android.graphics.Color;
import android.os.Bundle;

public class ModuleView1 extends ModuleBaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setBackground(Color.RED);
        setContentText("模块一");
    }
}
package com.yek;

import android.graphics.Color;
import android.os.Bundle;

public class ModuleView2 extends ModuleBaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setBackground(Color.GREEN);
        setContentText("模块二");
    }
}
package com.yek;

import android.graphics.Color;
import android.os.Bundle;

public class ModuleView3 extends ModuleBaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setBackground(Color.BLUE);
        setContentText("模块三");
    }
}
原文地址:https://www.cnblogs.com/jiayonghua/p/3081414.html