Android 如何在carousel中水平实现Listview?
是否可以在android中创建一个旋转木马,其中包含一组在列表视图中水平对齐的图像。我还想在单击一个图像项目时突出显示它。请使用RecyclerView而不是ListView。查看此代码-。将RecyclerView用作根视图,将LinearLayoutManager.HORIZONTAL用作LayoutManager 在布局中查看寻呼机内部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.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]);
}
};
}