Viewpager的用法
2016-02-21 16:11
218 查看
内页面 不单写页面 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{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view=inflater.inflate(R.layout.fragment1, null); return view; } }
相关文章推荐
- 利用Qt调用计算器
- Android Wear 进阶 2 Creating Wearable Apps-创建手表程序
- xnl 之 处理指令
- MyMVC框架的使用
- python基础0221
- 组合算法(C语言+回溯)
- BestCoder Round #73 (div.2)-Rikka with Graph(图的连通性)
- Android Studio在类中找不到R文件
- 将meteor部署到自己的服务器(deploy meteor to your own server)
- 【转】C语言->数组名与指针
- JAVA学习记录 -- final和static
- PEP 8 代码规范
- 【慕课笔记】第三章 JAVA中必须了解的常用类 第4节 使用Date和SimpleDateFormat类表示时间
- STM32工程建立
- paper 24 :matlab的cat函数
- ActiveSync 在 Win7(32位) 与 WinCE7 之间使用出现的问题
- Ubuntu使用ppa源安装最新版git
- HTTP协议详解(真的很经典)
- JAVA学习记录 -- 数据类型
- Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition