基本信息
源码名称:利用ActivityGroup组件实现TabHost效果
源码大小:0.97M
文件格式:.rar
开发语言:Java
更新时间:2014-01-08
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 3 元 
   源码介绍
利用ActivityGroup组件实现TabHost效果


package com.example.activitygrouptabpage;

import android.R.color;
import android.os.Bundle;
import android.app.Activity;
import android.app.ActivityGroup;
import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
 *
 * <p>Title: 主界面         </p>
 * <p>Description:
 * 利用ActivityGroup实现分页标签
 * </p>
 * <p>Create Time: 2013-9-17             </p>
 * <p>Update Time:                     </p>
 * <p>Updater:                         </p>
 * <p>Update Comments:                 </p>
 */
public class MainActivity extends ActivityGroup {
 private GridView gv;
 private GridViewAdapter adapter;
 private int barnum = 4;//标签数
 private LinearLayout showview;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  this.requestWindowFeature(Window.FEATURE_NO_TITLE);//无标题
  setContentView(R.layout.activity_main);
  //初始化组件
  initComponent();
  //注册监听
  registerListener();
 }

 private void initComponent(){
  gv = (GridView) this.findViewById(R.id.gridview_bottombar);
  //设置gridview的列数
  gv.setNumColumns(barnum);
  //设置选中为透明色
  gv.setSelector( new ColorDrawable(color.transparent));
  //设置居中
  gv.setGravity(Gravity.CENTER);
  //设置垂直间隔为0
  gv.setVerticalSpacing(0);
  //设置适配器
  adapter = new GridViewAdapter(this, barnum);
  gv.setAdapter(adapter);
  
  showview = (LinearLayout) this.findViewById(R.id.group_showview);
  
  switchActivity(0);
 }
 
 private void registerListener(){
  gv.setOnItemClickListener(new ItemClickListener());
 }
 
 private void switchActivity(int index){
  adapter.setFocus(index);
  showview.removeAllViews();//清除容器中所有的view
  Intent intent = null;
  int idx = index;
  if(idx == 0){
   intent  =  new Intent(MainActivity.this,ContentActivity.class);
  }
  if(idx == 1){
   intent  =  new Intent(MainActivity.this,ContentActivity.class);
  }
  if(idx == 2){
   intent  =  new Intent(MainActivity.this,ContentActivity.class);
  }
  if(idx == 3){
   intent  =  new Intent(MainActivity.this,ContentActivity.class);
  }
  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  Window subActivity = getLocalActivityManager().startActivity( "subActivity", intent); 
   // 容器添加View 
   showview.addView(subActivity.getDecorView(), 
   LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
 }
 
 
 class ItemClickListener implements OnItemClickListener{
  @Override
  public void onItemClick(AdapterView<?> av, View v, int position, long id) {
   switchActivity(position);
  }
  
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.activity_main, menu);
  return true;
 }

}