Viewpager的用法

来源:互联网 发布:淘宝网舞蹈练功棉服 编辑:程序博客网 时间:2024/06/06 10:47
内页面  不单写页面   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<View> 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>();        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<View> list;    public MyPagerAdapter(List<View> 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<Fragment> 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<Fragment>();        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<Fragment> list;    public MyFragmentpagerAdapter(FragmentManager fm, List<Fragment> 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;}}

 

0 0
原创粉丝点击