Android 如何在carousel中水平实现Listview?

Android 如何在carousel中水平实现Listview?,android,image-gallery,horizontal-scrolling,Android,Image Gallery,Horizontal Scrolling,是否可以在android中创建一个旋转木马,其中包含一组在列表视图中水平对齐的图像。我还想在单击一个图像项目时突出显示它。请使用RecyclerView而不是ListView。查看此代码-。将RecyclerView用作根视图,将LinearLayoutManager.HORIZONTAL用作LayoutManager 在布局中查看寻呼机内部 <android.support.v4.view.ViewPager android:id="@+id/viewPager" an

是否可以在android中创建一个旋转木马,其中包含一组在列表视图中水平对齐的图像。我还想在单击一个图像项目时突出显示它。

请使用RecyclerView而不是ListView。查看此代码-。将RecyclerView用作根视图,将LinearLayoutManager.HORIZONTAL用作LayoutManager

在布局中查看寻呼机内部

 <android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
您的自定义adpter代码,在您的活动之前声明ArrayList imagepathArray=new ArrayList

public class CustomAdapter extends PagerAdapter{

Context context;

public CustomAdapter(Context context){
    this.context = context;

}


@Override
public Object instantiateItem(ViewGroup container, int position) {
    // TODO Auto-generated method stub

    LayoutInflater inflater = ((Activity)context).getLayoutInflater();

    View viewItem = inflater.inflate(R.layout.image_item, container, false);
    ImageView imageView = (ImageView) viewItem.findViewById(R.id.imageView10);

    Glide.with(context).load(yourActivty.imagepathArray.get(position)).into(imageView);



    ((ViewPager)container).addView(viewItem);

    return viewItem;
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return yourActivty.imagepathArray.size();
}

@Override
public boolean isViewFromObject(View view, Object object) {
    // TODO Auto-generated method stub

    return view == ((View)object);
}


@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    // TODO Auto-generated method stub
    ((ViewPager) container).removeView((View) object);
}}

您可以在项目中使用此github库来实现转盘功能。此处是的链接

应用程序级渐变文件不是项目级渐变:

在布局中包括以下代码:


您还可以在给定的链接上浏览它的额外支持的xml属性。

使用ViewPager显示您的图像我是android中的新成员,您能指定我需要使用ViewPager的位置吗?可能重复的,所以这里不需要旋转木马?除此之外,我们使用的是viewPager。如果您只想在Horizontaly中显示图像,请检查此链接,然后您必须使用HorizontalScrollView或其他View Pager
public class CustomAdapter extends PagerAdapter{

Context context;

public CustomAdapter(Context context){
    this.context = context;

}


@Override
public Object instantiateItem(ViewGroup container, int position) {
    // TODO Auto-generated method stub

    LayoutInflater inflater = ((Activity)context).getLayoutInflater();

    View viewItem = inflater.inflate(R.layout.image_item, container, false);
    ImageView imageView = (ImageView) viewItem.findViewById(R.id.imageView10);

    Glide.with(context).load(yourActivty.imagepathArray.get(position)).into(imageView);



    ((ViewPager)container).addView(viewItem);

    return viewItem;
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return yourActivty.imagepathArray.size();
}

@Override
public boolean isViewFromObject(View view, Object object) {
    // TODO Auto-generated method stub

    return view == ((View)object);
}


@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    // TODO Auto-generated method stub
    ((ViewPager) container).removeView((View) object);
}}
compile 'com.synnapps:carouselview:0.0.9'
<com.synnapps.carouselview.CarouselView
    android:id="@+id/carouselView"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    app:fillColor="#FFFFFFFF"
    app:pageColor="#00000000"
    app:radius="6dp"
    app:slideInterval="3000"
    app:strokeColor="#FF777777"
    app:strokeWidth="1dp"/>
    public class SampleCarouselViewActivity extends AppCompatActivity {

    CarouselView carouselView;

    int[] sampleImages = {R.drawable.image_1, R.drawable.image_2, R.drawable.image_3, R.drawable.image_4, R.drawable.image_5};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sample_carousel_view);

        carouselView = (CarouselView) findViewById(R.id.carouselView);
        carouselView.setPageCount(sampleImages.length);

        carouselView.setImageListener(imageListener);
    }

    ImageListener imageListener = new ImageListener() {
        @Override
        public void setImageForPosition(int position, ImageView imageView) {
            imageView.setImageResource(sampleImages[position]);
        }
    };
}