整个页面为TabActivity, 其中对TabWidget进行了一些改变,当切换页签时页签后面红色背景会以Translate动画形式移动到相对应的页签后。

布局
));
  • lastPosition = 0;
  • }
  • break;
  • case R.id.ll_folder:// 文件夹标签
  • // 判断当前页面是否是文件夹页面,如果不是,切换至
  • if(!"folder".equals(tabHost.getCurrentTabTag())){
  • tabHost.setCurrentTabByTag("folder");
  • slideBackGround.startAnimation(getAnim(itemLength));
  • lastPosition = itemLength;
  • }
  • break;
  • case R.id.ll_group:// 群组标签
  • // 判断当前页面是否是文件夹页面,如果不是,切换至
  • if(!"group".equals(tabHost.getCurrentTabTag())){
  • tabHost.setCurrentTabByTag("group");
  • slideBackGround.startAnimation(getAnim(itemLength*2));
  • lastPosition = itemLength*2;
  • }
  • break;
  • }
  • }
  • private TranslateAnimation getAnim(int destPosition) {
  • TranslateAnimation anim = new TranslateAnimation(lastPosition, destPosition, 0, 0);
  • anim.setDuration(500);
  • anim.setFillAfter(true);
  • return anim;
  • }
  • }