zoukankan      html  css  js  c++  java
  • Android:使用ViewPager实现左右滑动切换图片(图上有点点)

    在以下实例的基础上加上点点

    Android:使用ViewPager实现左右滑动切换图片 (简单版)

    效果预览:

    因为要把点点放图片上,所以修改布局为相对布局:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
        <!-- 切换卡 -->
        <android.support.v4.view.ViewPager
             android:id="@+id/viewPager"  
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
            >  
        </android.support.v4.view.ViewPager>  
        
        <!-- 点点 -->   
            <LinearLayout  
            android:id="@+id/viewGroup"  
            android:layout_width="fill_parent"  
            android:layout_height="wrap_content"  
            android:layout_alignParentBottom="true"  
            android:layout_marginBottom="40dp"  
            android:gravity="center_horizontal"  
            android:orientation="horizontal" >         
        </LinearLayout>  
    </RelativeLayout>

    程序新增:

    private ImageView imageView; 
    private ImageView[] imageViews; 
    //包裹点点的LinearLayout
    private ViewGroup group;
      group = (ViewGroup)findViewById(R.id.viewGroup); 
            
            //有多少张图就有多少个点点
            imageViews = new ImageView[pageview.size()];
            for(int i =0;i<pageview.size();i++){
                imageView = new ImageView(MainActivity.this);
                imageView.setLayoutParams(new LayoutParams(20,20));
                imageView.setPadding(20, 0, 20, 0); 
                imageViews[i] = imageView;   
                
                //默认第一张图显示为选中状态
                if (i == 0) {  
                    imageViews[i].setBackgroundResource(R.drawable.page_indicator_focused);  
                } else {  
                    imageViews[i].setBackgroundResource(R.drawable.page_indicator_unfocused);  
                }  
                
                group.addView(imageViews[i]);  
            }
            
            
            
            
            //pageView监听器
            class GuidePageChangeListener implements OnPageChangeListener{
    
                @Override
                public void onPageScrollStateChanged(int arg0) {
                    // TODO Auto-generated method stub
                    
                }
    
                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub
                    
                }
    
                @Override
                //如果切换了,就把当前的点点设置为选中背景,其他设置未选中背景
                public void onPageSelected(int arg0) {
                    // TODO Auto-generated method stub
                    for(int i=0;i<imageViews.length;i++){
                        imageViews[arg0].setBackgroundResource(R.drawable.page_indicator_focused);
                         if (arg0 != i) {  
                                imageViews[i].setBackgroundResource(R.drawable.page_indicator_unfocused);  
                            }  
                    }
                    
                }
                
            }
            
            //绑定监听事件
            viewPager.setOnPageChangeListener(new GuidePageChangeListener());

    >>>>>>>>>>>>>>>>实例下载

    相关文章:

    Android 使用ViewPager实现左右循环滑动图片

  • 相关阅读:
    zeromq学习记录(五)vc下多线程
    zeromq学习记录(七)订阅发布消息封装
    Mozilla研究—从输入URL到显示内容的基本过程
    Mozilla研究—深入理解mozilla所需的背景知识
    Mozilla研究—组件加载机制
    Mozilla研究—传输协议
    Mozilla研究—mozilla中的设计亮点
    GTK+主循环(main loop)的工作原理
    Mozilla研究—mozilla能为我们做什么
    Mozilla研究—组件的创建过程
  • 原文地址:https://www.cnblogs.com/tinyphp/p/3892936.html
Copyright © 2011-2022 走看看