package test;
import org.carelife.creader.R;
import java.util.ArrayList;
import java.util.List;
import android.app.LocalActivityManager;
import android.app.TabActivity;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TextView;
public class testrolltabhost extends TabActivity {
//ҳ������
private ViewPager mPager;
// Tabҳ���б�
private List<View> listViews;
// ��ǰҳ�����
private LocalActivityManager manager = null;
private final Context context = testrolltabhost.this;
private TabHost mTabHost;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.rolltabhost);
// mTabHost = getTabHost();
// mTabHost.addTab(mTabHost.newTabSpec("0").setIndicator(
// "������").setContent(
// new Intent(this, BookShelf.class)));
//
// mTabHost.addTab(mTabHost.newTabSpec("1").setIndicator(
// "������").setContent(
// new Intent(this, BookShelf.class)));
//
// mTabHost.addTab(mTabHost.newTabSpec("2").setIndicator(
// "������").setContent(
// new Intent(this, BookShelf.class)));
mTabHost.setCurrentTab(0);
//tabhost�ı�ͬ���ı�ViewPager������
mTabHost.setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
mPager.setCurrentItem(Integer.parseInt(tabId));
}
});
manager = new LocalActivityManager(this, true);
manager.dispatchCreate(savedInstanceState);
InitViewPager();
}
/**
* ��ʼ��ViewPager
*/
private void InitViewPager() {
// mPager = (ViewPager) findViewById(R.id.vPager);
// listViews = new ArrayList<View>();
// MyPagerAdapter mpAdapter = new MyPagerAdapter(listViews);
// Intent intent = new Intent(context, BookShelf.class);
// listViews.add(getView("A", intent));
// Intent intent2 = new Intent(context, BookShelf.class);
// listViews.add(getView("B", intent2));
// Intent intent3 = new Intent(context, BookShelf.class);
// listViews.add(getView("C", intent3));
// mPager.setAdapter(mpAdapter);
// mPager.setCurrentItem(0);
// mPager.setOnPageChangeListener(new MyOnPageChangeListener());
}
/**
* ViewPager������
*/
public class MyPagerAdapter extends PagerAdapter {
public List<View> mListViews;
public MyPagerAdapter(List<View> mListViews) {
this.mListViews = mListViews;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView(mListViews.get(arg1));
}
@Override
public void finishUpdate(View arg0) {
}
@Override
public int getCount() {
return mListViews.size();
}
@Override
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(mListViews.get(arg1), 0);
return mListViews.get(arg1);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == (arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
}
/**
* ҳ���л�������ViewPager�ı�ͬ���ı�TabHost����
*/
public class MyOnPageChangeListener implements OnPageChangeListener {
public void onPageSelected(int arg0) {
switch (arg0) {
case 0:
mTabHost.setCurrentTab(0);
break;
case 1:
mTabHost.setCurrentTab(1);
break;
case 2:
mTabHost.setCurrentTab(2);
break;
}
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
public void onPageScrollStateChanged(int arg0) {
}
}
private View getView(String id,Intent intent)
{
return manager.startActivity(id, intent).getDecorView();
}
}