设为首页 加入收藏

TOP

一起学Android之ViewPager(二)
2019-09-01 23:25:43 】 浏览:75
Tags:一起 Android ViewPager
14 import android.widget.LinearLayout; 15 import android.widget.TextView; 16 17 public class MainActivity extends AppCompatActivity { 18 19 private ViewPager mViewPager; 20 int[] imgs; 21 String[] titles; 22 TextView tvTitle; 23 LinearLayout llIndicator; 24 Button mGo; 25 @Override 26 protected void onCreate(Bundle savedInstanceState) { 27 super.onCreate(savedInstanceState); 28 setContentView(R.layout.activity_main); 29 mViewPager= (ViewPager) this.findViewById(R.id.vp_info); 30 imgs=new int[]{R.drawable.s01,R.drawable.s02,R.drawable.s03,R.drawable.s04,R.drawable.s05}; 31 titles=new String[]{"第一张图","第二张图","第三张图","第四张图","第五张图"}; 32 tvTitle= (TextView) this.findViewById(R.id.tv_title); 33 //构造适配器并赋值 34 MyAdapter adapter=new MyAdapter(); 35 mViewPager.setAdapter(adapter); 36 //初始化第一个标题 37 tvTitle.setText(titles[0]); 38 //初始化指示器 39 llIndicator = (LinearLayout) this.findViewById(R.id.ll_Indicator); 40 setIndicator(0); 41 //设置页面切换监听事件 42 mViewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { 43 /** 44 * 页面被选中 45 * @param position 46 */ 47 @Override 48 public void onPageSelected(int position) { 49 Log.v("DemoViewPager","当前是:"+titles[position]); 50 tvTitle.setText(titles[position]); 51 //设置指示器 52 llIndicator.removeAllViews(); 53 setIndicator(position); 54 } 55 }); 56 //页面跳转 57 mGo= (Button) this.findViewById(R.id.bn_go); 58 mGo.setOnClickListener(new View.OnClickListener() { 59 @Override 60 public void onClick(View v) { 61 Intent intent=new Intent(MainActivity.this,Main2Activity.class); 62 startActivity(intent); 63 } 64 }); 65 } 66 67 /** 68 * 设置指示器 69 * @param position 70 */ 71 private void setIndicator(int position){ 72 for(int i=0;i<imgs.length;i++) { 73 ImageView imgIndicatior = new ImageView(MainActivity.this); 74 LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(10, 10); 75 layoutParams.leftMargin = 10; 76 layoutParams.rightMargin = 10; 77 imgIndicatior.setLayoutParams(layoutParams); 78 if (i == position) { 79 imgIndicatior.setImageResource(R.drawable.dot1); 80 } else { 81 imgIndicatior.setImageResource(R.drawable.dot0); 82 } 83 llIndicator.addView(imgIndicatior); 84 } 85 } 86 87 /* 88 描述:自定义一适配器 89 */ 90 class MyAdapter extends PagerAdapter 91 { 92 93 @Override 94 public int getCount() { 95 return imgs == null ? 0 : imgs.length; 96 } 97 98 /** 99 * 是否需要重新加载子视图 100 * @param view 101 * @param object 102 * @return 103 */ 104 @Override 105 public boolean isViewFromObject(View view, Object object) { 106 return view == object; 107 } 108 109 @Override 110 public void destroyItem(ViewGroup container, int position, Object object) { 111 //container.removeViewAt(position); 112 container.removeView((View)object); 113 } 114 115 /** 116 * 生成子视图 117 * @param container 118 * @param position 119 * @return 120 */ 121 @Override 122 public Object instantiateItem(ViewGroup container, int position) { 123 ImageView img=new ImageView(container.getContext()); 124 img.setImageResource(imgs[position]); 125 container.addView(img); 126 return img; 127 } 128 129 @Override 1
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Android AutoCompleteTextView和M.. 下一篇Android项目实战欢迎界面

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目