【问题标题】:Add dot indicator to viewpager with pageradapter使用 pageradapter 将点指示器添加到 viewpager
【发布时间】:2017-05-28 08:35:42
【问题描述】:

我需要在我的幻灯片代码中添加点指示符,所以请帮我添加这个指示符,并在页面查看器中单击列表器查看视图

 viewPager = (ViewPager) findViewById(R.id.splash);
        ImageAdapter adapter = new ImageAdapter(this);
        viewPager.setAdapter(adapter);

public class ImageAdapter extends PagerAdapter {

        Context context;

        private int[] GalImages = new int[] {
                R.drawable.slider,
                R.drawable.slider,
                R.drawable.slider,
        };

        ImageAdapter(Context context){
            this.context=context;
        }

        @Override
        public int getCount() {
         return GalImages.length;
         //   return 10;
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view == ((ImageView) object);
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            ImageView imageView = new ImageView(context);
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            imageView.setImageResource(GalImages[position]);
            new LoadImage(imageView).execute("http://www.gadgetbaazar.com/wp-content/uploads/2016/12/Top-Mobile-Phones.jpg");
            new LoadImage(imageView).execute("https://pisces.bbystatic.com/BestBuy_US/store/ee/2015/com/pm/nav_desktops_1115.jpg");
            container.addView(imageView, 0);
            return imageView;
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            ((ViewPager) container).removeView((ImageView) object);
        }



        private class LoadImage extends AsyncTask<String, String, Bitmap> {
            ImageView img=null;
            public LoadImage(ImageView img){
                this.img=img;
            }
            @Override
            protected void onPreExecute() {
                super.onPreExecute();

            }
            protected Bitmap doInBackground(String... args) {
                Bitmap bitmap=null;
                try {
                    bitmap = BitmapFactory.decodeStream((InputStream)new URL(args[0]).getContent());
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return bitmap;
            }
            protected void onPostExecute(Bitmap image) {
                if(image != null){
                    img.setImageBitmap(image);
                }
            }
        }
    }

如果可能的话,我需要指示器以及此视图分页器的 pageclick 侦听器

【问题讨论】:

标签: java android android-viewpager viewpagerindicator


【解决方案1】:

我使用以下 LIB PageIndicatorView 完成此操作

编译'com.romandanylyk:pageindicatorview:0.1.1'

<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:id="@+id/pager"
    android:layout_height="match_parent">

</android.support.v4.view.ViewPager>

<com.rd.PageIndicatorView
    android:id="@+id/pageIndicatorView"
    android:layout_width="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_above="@+id/buttons"
    android:layout_marginBottom="20dp"
    app:piv_animationType="swap"
    app:piv_viewPager="@id/pager"
    android:layout_height="wrap_content" />

Java 代码

mViewPager = (ViewPager) findViewById(pager);
    mViewPager.setAdapter(mCustomPagerAdapter);

    //dots
    PageIndicatorView pageIndicatorView = (PageIndicatorView) findViewById(R.id.pageIndicatorView);
    pageIndicatorView.setViewPager(mViewPager);

输出

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多