在视图中的ImageView事件

时间:2014-04-02 12:00:39

标签: android

我有这样的布局。

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);
    }

2 个答案:

答案 0 :(得分:0)

你可以使用viewpager;它将提供您所需的所有活动

答案 1 :(得分:0)

您可以尝试这个小部件:Horizo​​ntalListView。 其属性mLeftViewAdapterIndex表示第一个可见项目索引。 这是github中的源代码。 https://github.com/MeetMe/Android-HorizontalListView/blob/master/AndroidHorizontalListView/src/com/meetme/android/horizontallistview/HorizontalListView.java