引导页 小实例 ViewPager
来源:互联网 发布:一键转发朋友圈 源码 编辑:程序博客网 时间:2024/06/15 07:20
indicator_layout4.xml
<ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@mipmap/a4" //图片不一样 android:id="@+id/imageView2" /> //id不一样 四套其他一样 </LinearLayout>
activity_main.xml部分:
<android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@id/viewPager"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/point_layout" android:gravity="center" android:layout_marginBottom="80dp" android:layout_alignParentBottom="true" android:layout_alignParentStart="true"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/default_holo" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/default_holo" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/default_holo" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/default_holo" /> </LinearLayout> </RelativeLayout>
MainActivity.java部分
public class Main2Activity extends Activityimplements ViewPager.OnPageChangeListener{ private ViewPager viewPager; private ArrayList<View> views = new ArrayList<>(); private ArrayList<ImageView> imageViews = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); viewPager = (ViewPager) findViewById(R.id.viewPager); initView(); initPointView(); viewPager.setAdapter(new MyPagerAdapter(views)); viewPager.addOnPageChangeListener(this);// viewPager.setCurrentItem(0); } //初始化小圆点视图,默认当前选中第一个小点 private void initPointView(){ LinearLayout point_layout = (LinearLayout)findViewById(R.id.point_layout); int count = point_layout.getChildCount(); for (int i=0;i<count;i++){ imageViews.add((ImageView) point_layout.getChildAt(i)); } imageViews.get(0).setImageResource(R.mipmap.touched_holo); } /** * 初始化要切换的视图对象 */ private void initView(){ View v1 = getLayoutInflater().inflate(R.layout.indicator_layout1,null); View v2 = getLayoutInflater().inflate(R.layout.indicator_layout2,null); View v3 = getLayoutInflater().inflate(R.layout.indicator_layout3,null); View v4 = getLayoutInflater().inflate(R.layout.indicator_layout4,null); views.add(v1); views.add(v2); views.add(v3); views.add(v4); } public void onPageScrolled(int position, float positionOffset, intpositionOffsetPixels) {} public void onPageScrollStateChanged(int state) {} @Override public void onPageSelected(int position) { setSelectedPoint(position); } private int prevIndex = 0; private void setSelectedPoint(int position) { if(prevIndex!=position) { //设置上一个被选中的,对应位置的小圆点为未选中状态图片 imageViews.get(prevIndex).setImageResource(R.mipmap.default_holo); } //设置当前被选中的,对应位置的小圆点为选中状态图片 imageViews.get(position).setImageResource(R.mipmap.touched_holo); prevIndex = position; } private static class MyPagerAdapter extends PagerAdapter { private ArrayList<View> views; public MyPagerAdapter(ArrayList<View> views){ this.views = views; } @Override public Object instantiateItem(ViewGroup container, int position) { View v = views.get(position); container.addView(v); return v; } @Override public void destroyItem(ViewGroup container, int position, Objectobject) { System.out.println(object); container.removeView(views.get(position)); } //要切换的页面总数 @Override public int getCount() { return views.size(); } //验证view视图是否是指定对象 @Override public boolean isViewFromObject(View view, Object object) { return view==object; } }}
0 0
- 引导页 小实例 ViewPager
- Android ViewPager做引导页不定页数 代码实例
- Android ViewPager引导页
- ViewPager实现引导页
- viewpager引导页
- ViewPager引导页
- 新手引导页-ViewPager
- ViewPager实现引导页
- Android ViewPager引导页
- ViewPager实现引导页
- ViewPager 实现引导页
- viewpager引导页
- ViewPager引导页
- ViewPager实现引导页
- 引导页-ViewPager
- ViewPager引导页
- 引导页和viewpager
- ViewPager实现引导页
- base64编码转换DLL使用方法定义
- ios常用的第三方类库
- closest
- linux 操作系统中chown命令的使用
- 【C/C++】将字符串按空格逆置
- 引导页 小实例 ViewPager
- mysql 单表多字段模糊查询解决方法
- closest2
- UIImage 类别扩展(图片工具箱)
- Android 5.1精简Gallery2菜单选项
- ubuntu用户管理小知识
- mysql中分类统计的一种好方法
- 06.栈.链栈
- Android Base64加密解密