我在github上找到了一个带有CarouselPicker com.github.Vatican-Cameos:CarouselPicker:v1.0的库,我在依赖项中添加了此库,并且还在库maven {url'https://jitpack.io'}中进行了编译

我已经成功制作了CarouselPicker,这是JAVA代码

carouselPicker = (CarouselPicker)findViewById(R.id.carouselPicker);

    List<CarouselPicker.PickerItem> itemsImage = new ArrayList<>();
    itemsImage.add(new CarouselPicker.DrawableItem(R.drawable.abc));
    itemsImage.add(new CarouselPicker.DrawableItem(R.drawable.123));
    itemsImage.add(new CarouselPicker.DrawableItem(R.drawable.colors));
    itemsImage.add(new CarouselPicker.DrawableItem(R.drawable.shapes));
    CarouselPicker.CarouselViewAdapter imageAdapter = new CarouselPicker.CarouselViewAdapter(this, itemsImage,0);
    carouselPicker.setAdapter(imageAdapter);


通过使用LinearLayout,这就是XML代码

<in.goodiebag.carouselpicker.CarouselPicker
    android:id="@+id/carouselPicker"
    android:layout_marginTop="50dp"
    android:layout_marginBottom="20dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:items_visible="three"
    />


我在Google上找不到有关轮播选择器中的第一项选择为OnClickListener来更改intent的内容的信息

最佳答案

我找到了您在this link上使用过的库
您必须像这样使用addOnPageChangeListener

carouselPicker.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            //position of the selected item
            if(position == 0){
                startActivity(new Intent(thisActivity.this, anotherActivity1.class));
            }
            else if(position == 1){
                startActivity(new Intent(thisActivity.this, anotherActivity2.class));
            }
            // Same conditions for another cases.
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });


因此,您要处理click事件的onClickListeneronPageSelected方法。

09-25 22:23