android - 将可绘制对象添加到 CirclePageIndicator

标签 android android-layout android-intent android-emulator android-viewpager

如何将图像添加到圆形 pageindicator 而不是添加颜色..我尝试添加 iconpage 指示器但是点击方法不起作用但我可以添加图像.. 在 circlepageIndicator 中,onclick 方法有效,但如何添加可绘制的图像到 CIRCLEPAGE INDICATOR。下面是我的代码。

enter image description here

已使用的 CirclePageIndicator

       indicator  = (CirclePageIndicator)findViewById(R.id.indicatorMenu);
    indicator.setViewPager(pagerMenu);

    final float density1 = getResources().getDisplayMetrics().density;
    indicator.setRadius(5 * density1);
    indicator.setPageColor(0xFF000000);
    indicator.setFillColor(0xFF888888);
  indicator.setStrokeColor(0x880000FF);
    indicator.setStrokeWidth(2 * density1);

    //We set this on the indicator, NOT the pager
    indicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {             
        @Override
        public void onPageSelected(int position) {
         //   Toast.makeText(HomeSpizzaView.this, "Changed to page " + position, Toast.LENGTH_SHORT).show();
        //  pagerMenu.setCurrentItem(position, false);            
        }
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        }
        @Override
        public void onPageScrollStateChanged(int state) {               
        }
    });

    indicator.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            int currentItem = pagerMenu.getCurrentItem();
               int totalItems = pagerMenu.getAdapter().getCount();
               int nextItem = (currentItem + 1) % totalItems;
               pagerMenu.setCurrentItem(nextItem);
         Log.i("kkkkk", "getCurrentItem"+  nextItem);
         Toast.makeText(HomeSpizzaView.this, "getCurrentItem"+  nextItem, Toast.LENGTH_SHORT).show();
        }
    });

已使用 IconPageIndicator

      mIndicator  = (IconPageIndicator)findViewById(R.id.indicator);
    mIndicator.setViewPager(mPager);
    mIndicator.setLongClickable(true);

    //We set this on the indicator, NOT the pager
    mIndicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {             
        @Override
        public void onPageSelected(int position) {
            Toast.makeText(HomeSpizzaView.this, "Changed to page " + position, Toast.LENGTH_SHORT).show();
            mPager.setCurrentItem(position, false);    
        }
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        }
        @Override
        public void onPageScrollStateChanged(int state) {               
        }
    });


    mIndicator.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            int currentItem = pagerMenu.getCurrentItem();
               int totalItems = pagerMenu.getAdapter().getCount();
               int nextItem = (currentItem + 1) % totalItems;
               pagerMenu.setCurrentItem(nextItem);
         Log.i("mmmmmmmmmmmm", "getCurrentItem"+  nextItem);
         Toast.makeText(HomeSpizzaView.this, "getCurrentItem"+  nextItem, Toast.LENGTH_SHORT).show();

        }

    });

最佳答案

您可以使用 CirclePageIndicator 对象来自定义页面指示器。您可以设置图像或自定义颜色。 您还可以使用 XML 自定义这些指标,您可以从给定的链接中找到示例 Android-ViewPagerIndicator's GitHub . 如果你想使用图标或图像,那么你可以使用下面的类 SampleIconsDefault.java .来自给定的样本

关于android - 将可绘制对象添加到 CirclePageIndicator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13813623/

相关文章:

android - 为什么要从android Activity生命周期方法中调用父类(super class)方法?

java - android中的“Collection 夹列表”-重新更改评分栏

android - Flutter 如何让 uber 或 ola 像在谷歌地图上移动的汽车图标

android-layout - 将 Android View 定位在位图之上

java - NullPointerException:LinearLayout 为 Null

android - 异步任务结束后开始 Intent

java - Android如何计算网络使用数据包/数据

android - Xamarin ListView TwoWay 绑定(bind)在 iOS 上不起作用

java - 如何解决错误膨胀类 android.support.design.widget.BottomNavigationView?

java - 添加了读取手机状态权限但仍然崩溃