内页面 不单写页面 viewpager+布局
import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.app.Activity;import android.graphics.Color;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener { private List list; private ViewPager viewpager; private Button button1; private Button button2; private Button button3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setData(); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button3 = (Button) findViewById(R.id.button3); button1 .setOnClickListener(this); button2.setOnClickListener(this); button3.setOnClickListener(this); viewpager = (ViewPager) findViewById(R.id.viewpager); viewpager.setAdapter(new MyPagerAdapter(list)); viewpager.setCurrentItem(1); setButtonColor(viewpager.getCurrentItem()); viewpager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { setButtonColor(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } }); } private void setData() { list = new ArrayList (); View view1=View.inflate(MainActivity.this,R.layout.viewpager_1, null); View view2=View.inflate(MainActivity.this,R.layout.viewpager_2,null); View view3=View.inflate(MainActivity.this,R.layout.viewpager_3,null); list.add(view1); list.add(view2); list.add(view3); } private void setButtonColor(int position) { // TODO Auto-generated method stub switch(position){ case 0: button1.setTextColor(Color.WHITE); button2.setTextColor(Color.BLACK); button3.setTextColor(Color.BLACK); break; case 1: button2.setTextColor(Color.WHITE); button1.setTextColor(Color.BLACK); button3.setTextColor(Color.BLACK); break; case 2: button3.setTextColor(Color.WHITE); button2.setTextColor(Color.BLACK); button1.setTextColor(Color.BLACK); break; } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: viewpager.setCurrentItem(0); break; case R.id.button2: viewpager.setCurrentItem(1); break; case R.id.button3: viewpager.setCurrentItem(2); break; } } }
import java.util.List;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;public class MyPagerAdapter extends PagerAdapter{ List list; public MyPagerAdapter(List list) { this.list=list; } @Override public int getCount() { return list.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(list.get(position)); return list.get(position); } }
外页面 自定义页面 Viewpager+Fragment (Fragment导V4包)
import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentManager;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends FragmentActivity implements OnClickListener{ private ViewPager viewPager; private Button button1; private Button button2; private Button button3; private List list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = (ViewPager) findViewById(R.id.viewpager); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button3 = (Button) findViewById(R.id.button3); button1.setOnClickListener(this); button2.setOnClickListener(this); button3.setOnClickListener(this); setCon(); FragmentManager fm = getSupportFragmentManager(); viewPager.setAdapter(new MyFragmentpagerAdapter(fm, list)); viewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "当前页面是:页卡"+(arg0+1), 0).show(); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } }); } private void setCon() { list = new ArrayList (); Fragment1 f1=new Fragment1(); Fragment2 f2=new Fragment2(); Fragment3 f3=new Fragment3(); list.add(f1); list.add(f2); list.add(f3); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: viewPager.setCurrentItem(0); break; case R.id.button2: viewPager.setCurrentItem(1); break; case R.id.button3: viewPager.setCurrentItem(2); break; } } }
import java.util.List;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.PagerAdapter;import android.view.View;public class MyFragmentpagerAdapter extends FragmentPagerAdapter { List list; public MyFragmentpagerAdapter(FragmentManager fm, List list) { super(fm); this.list=list; } @Override public Fragment getItem(int arg0) { // TODO Auto-generated method stub return list.get(arg0); } @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } }
import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class Fragment1 extends Fragment{@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view=inflater.inflate(R.layout.fragment1, null); return view; } }