我有这样的布局。
HorizontalScrollView
LinearLayout (Horizontal)
ImageView (A number of times)
是否有任何事件/方式可以判断哪个ImageView可见?如果可能的话,我想要一个事件,这样我就可以存储当前可见的图像的索引。
像
这样的东西class MyViewClass
private int index;
....
imageView.onEventViewListener(...
index = currentImageIndex;
);
编辑:我当前加载ImageViews的代码
OnClickListener click = new OnClickListener() {
@Override
public void onClick(View v) {
Object i = v.getTag();
smoothScrollTo((width*((Integer) i+1)), 0);
}
};
for(int i = 0;i < mImages.size();i++) {
Gallery.Image image = mImages.get(i);
ImageView iv = new ImageView(getContext());
ViewGroup.LayoutParams par = new ViewGroup.LayoutParams(width, ViewGroup.LayoutParams.WRAP_CONTENT);
iv.setLayoutParams(par);
iv.setTag(i);
iv.setOnClickListener(click);
Picasso.with(getContext())
.load("http://www.example.com/files/galleries/" + image.getGalleryId() + "/" + image.getSrc() + "_full.jpg")
.into(iv);
layout.addView(iv);
}
答案 0 :(得分:0)
你可以使用viewpager;它将提供您所需的所有活动
答案 1 :(得分:0)
您可以尝试这个小部件:HorizontalListView。 其属性mLeftViewAdapterIndex表示第一个可见项目索引。 这是github中的源代码。 https://github.com/MeetMe/Android-HorizontalListView/blob/master/AndroidHorizontalListView/src/com/meetme/android/horizontallistview/HorizontalListView.java