一个炒鸡好用的 indicator 开源指示器

淩亂°似流年 2022-07-20 12:29 292阅读 0赞

github 地址: https://github.com/ongakuer/CircleIndicator

  • xml 布局文件

    <?xml version=”1.0” encoding=”utf-8”?>














  • drawable 下面画出自己的指示器样式 dot_selector.xml

    <?xml version=”1.0” encoding=”utf-8”?>

    1. <solid android:color="@color/colorAccent"/>
    2. <stroke android:width="1dp" android:color="@color/colorAccent" />
    3. <size android:width="20dp" android:height="20dp" />
  1. </shape>
  • dot_unselector

    <?xml version=”1.0” encoding=”utf-8”?>







  • java代码

    package com.example.indecater;

    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ImageView;

    import java.util.ArrayList;

    import me.relex.circleindicator.CircleIndicator;

    public class MainActivity extends AppCompatActivity {

    1. int [] images = {R.mipmap.bg_welcome_huawei1,R.mipmap.bg_welcome_huawei2,
    2. R.mipmap.bg_welcome_huawei3,R.mipmap.bg_welcome_huawei4
    3. };
    4. private ArrayList<ImageView> arrayList;
  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.activity_main);
  5. ViewPager pager = (ViewPager) findViewById(R.id.vp_image);
  6. CircleIndicator indicator = (CircleIndicator) findViewById(R.id.indicator);
  7. arrayList = new ArrayList<>();
  8. for(int i = 0;i<images.length;i++){
  9. ImageView imageView = new ImageView(this);
  10. imageView.setBackgroundResource(images[i]);
  11. arrayList.add(imageView);
  12. }
  13. pager.setAdapter(new MyAdapter());
  14. indicator.setViewPager(pager);
  15. }
  16. class MyAdapter extends PagerAdapter{
  17. @Override
  18. public int getCount() {
  19. return images.length;
  20. }
  21. @Override
  22. public boolean isViewFromObject(View view, Object object) {
  23. return view == object;
  24. }
  25. @Override
  26. public Object instantiateItem(ViewGroup container, int position) {
  27. container.addView(arrayList.get(position));
  28. return arrayList.get(position);
  29. }
  30. @Override
  31. public void destroyItem(ViewGroup container, int position, Object object) {
  32. container.removeView((View)object);
  33. }
  34. }
  35. }
  • 效果图

![Image 1][]
这里写图片描述

看最上面哦,下面是截图自带的,哈哈哈哈

[Image 1]:

发表评论

表情:
评论列表 (有 0 条评论,292人围观)

还没有评论,来说两句吧...

相关阅读

    相关 推荐你读

    《算法导论》 我是大一参加ACM竞赛的时候买的《算法导论》,这本书内容聚合度高,比如一个排序算法,就有八九种,每一种都详细描述了算法流程,时间与空间复杂度。 我也没能够