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
Circle Indicator in Viewpager in android
提问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 width
height
you want:
在您的项目中像这样使用这个库:
在 xml 中:你想要
多少width
height
:
<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代码中使用它