java android中Viewpager中的圆形指示器

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14169556/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-31 15:20:17  来源:igfitidea点击:

Circle Indicator in Viewpager in android

javaandroid

提问by kanna

Im new in android , In my application I am using circle indicator.but I don know how to add it.. can anyone please tell me how to add circle indicator in my code.Here is my code

我是 android 新手,在我的应用程序中我使用的是圆形指示器。但我不知道如何添加它.. 谁能告诉我如何在我的代码中添加圆形指示器。这是我的代码

public class WalkthroughActivity extends Activity {

    private static final int MAX_VIEWS = 5;

    ViewPager mViewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(new WalkthroughPagerAdapter());
        mViewPager.setOnPageChangeListener(new WalkthroughPageChangeListener());
    }


    class WalkthroughPagerAdapter extends PagerAdapter {

        @Override
        public int getCount() {
            return MAX_VIEWS;
        }

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

        @Override
        public Object instantiateItem(View container, int position) {
            Log.e("walkthrough", "instantiateItem(" + position + ");");
            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View imageViewContainer = inflater.inflate(R.layout.activity_view_pager, null);
            ImageView imageView = (ImageView) imageViewContainer.findViewById(R.id.imageView1);

            switch(position) {
            case 0:
                imageView.setImageResource(R.drawable.kierkegaarddrop);
                break;

            case 1:
                imageView.setImageResource(R.drawable.nature);
                break;

            case 2:
                imageView.setImageResource(R.drawable.path);
                break;

            case 3:
                imageView.setImageResource(R.drawable.supportlife);
                break;

            case 4:
                imageView.setImageResource(R.drawable.willow);
                break;
            }

            ((ViewPager) container).addView(imageViewContainer, 0);
            return imageViewContainer;
        }

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


    class WalkthroughPageChangeListener implements ViewPager.OnPageChangeListener {

        @Override
        public void onPageScrollStateChanged(int arg0) {

        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {

        }

        @Override
        public void onPageSelected(int position) {
            // Here is where you should show change the view of page indicator
            switch(position) {

            case MAX_VIEWS - 1:
                break;

            default:

            }

        }

    }

回答by Zombie

For that you need to download a library from here

为此,您需要从这里下载一个库

make use of this library in your project like this:
In xml:
how much ever widthheightyou want:

在您的项目中像这样使用这个库:
在 xml 中:你想要
多少widthheight

<com.viewpagerindicator.CirclePageIndicator
                android:id="@+id/indicator"
                android:layout_width="248dp"
                android:layout_height="30dp"
                android:layout_below="@+id/pager"
                android:layout_centerHorizontal="true"
                android:padding="3dip" />

and accordingly use it in java code

并相应地在java代码中使用它

回答by Oleg Vaskevich

Don't reinvent the wheel - use ViewPagerIndicatorfrom here, which will be compatible with your ViewPager.

不要ViewPagerIndicator这里重新发明轮子使用,这将与您的ViewPager.