목록보기에서 가로로 정렬 된 일련의 이미지가 포함 된 캐 러셀을 android에서 만들 수 있습니까? 또한 클릭 할 때 하나의 이미지 항목을 강조 표시하려고합니다.목록보기를 Horizondally 컨베이어에서 구현하는 방법?
-1
A
답변
0
ListView를 사용하는 대신 RecyclerView를 사용하십시오. 이 코드 - Carousel을 확인하십시오. 루트 뷰로 RecyclerView
을 사용하고 LinearLayoutManager.HORIZONTAL
을 LayoutManager로 사용하십시오. 당신의 activty의 레이아웃
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
의 내부
0
테이크보기 호출기는
public class Event_Image_Slider extends Activity {
ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_event__image__slider);
viewPager = (ViewPager) findViewById(R.id.viewPager);
CustomAdapter adapter = new CustomAdapter(Event_Image_Slider.this);
viewPager.setAdapter(adapter);
}
}
귀하의 사용자 정의 adpter 코드, 당신의 activty에 ArrayList를 imagepathArray = 새로운 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);
}}
0
는 현재 프로젝트에서 회전 목마 기능이 github의 라이브러리를 사용할 수 carouselview library의 링크입니다.
응용 프로그램 수준 Gradle을 파일 (하지 프로젝트 수준의 Gradle을) :
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]);
}
};
}
또한 지정된 링크에서 추가로 지원되는 xml 속성을 탐색 할 수 있습니다.
이미지를 표시하려면 ViewPager를 사용하십시오. –
죄송합니다. 안드로이드에 새로운 iMac, 사용 장소가 필요합니까? viewPager – Maria
[안드로이드 수평 스크롤 이미지 갤러리] (http://stackoverflow.com/questions/29429556/)와 중복 될 수 있습니다. android-horizontal-scrolling-image-gallery) –