Авто слайдер изображений с помощью ViewPager - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь заменить цвета изображениями из Drawable в этом коде.Я нашел этот учебник о том, как мы можем сделать слайдер с автоматическими изображениями с помощью viewpager на Android Studio, но этот код предназначен для переключения цветов изображений, как я могу заменить эти цвета изображениями?

Вот мой SliderAdapter.java

public class SliderAdapter extends PagerAdapter {
  private Context context;
  private List<Integer> color;
  private List<String> colorName;

  public SliderAdapter(Context context, List<Integer> color, List<String> colorName) {
    this.context = context;
    this.color = color;
    this.colorName = colorName;
  }

  @Override
  public int getCount() {
    return color.size();
  }

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

  @Override
  public Object instantiateItem(ViewGroup container, int position) {
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.item_slider, null);

    TextView textView = (TextView) view.findViewById(R.id.textView);
    LinearLayout linearLayout = (LinearLayout)                 
    view.findViewById(R.id.linearLayout);

    textView.setText(colorName.get(position));
    linearLayout.setBackgroundColor(color.get(position));

    ViewPager viewPager = (ViewPager) container;
    viewPager.addView(view, 0);

    return view;
  }

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

вот мой MainActivity

public class MainActivity extends AppCompatActivity {

  ViewPager viewPager;
  TabLayout indicator;

  List<Integer> color;
  List<String> colorName;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);
    viewPager=(ViewPager)findViewById(R.layout.viewPager);
    indicator=(TabLayout)findViewById(R.layout.indicator);
    color = new ArrayList<>();
    color.add(Color.RED);
    color.add(Color.GREEN);
    color.add(Color.BLUE);

    colorName = new ArrayList<>();
    colorName.add("RED");
    colorName.add("GREEN");
    colorName.add("BLUE");

    viewPager.setAdapter(new SliderAdapterDemo(this, color, colorName));
    indicator.setupWithViewPager(viewPager, true);

    Timer timer = new Timer();
    timer.scheduleAtFixedRate(new SliderTimer(), 4000, 6000);
  }

  private class SliderTimer extends TimerTask {

    @Override
    public void run() {
        MainActivity.this.runOnUiThread(new Runnable() {
          @Override
          public void run() {
            if (viewPager.getCurrentItem() < color.size() - 1) {

            viewPager.setCurrentItem(viewPager.getCurrentItem() + 1);
            } else {
              viewPager.setCurrentItem(0);
            }
          }
        });
    }
  }
}

1 Ответ

0 голосов
/ 12 сентября 2018

https://demonuts.com/image-slider-slideshow/ https://gist.github.com/sagar2093/bea722492e803097de4180d822a05b8f Пожалуйста, ознакомьтесь с этими примерами, это поможет

...