0

我在滚动视图中有 10 个图像视图

单击图像后,我想执行一个操作

但是当我尝试滚动 ScrollView 中的图像时,T​​ouch_down 和 Touch_UP 一起被视为单击

帮帮我我知道解决方案很简单但我想我缺少一些逻辑

我把我的代码放在这里

  public class CustomScrollView extends ScrollView {

    public CustomScrollView(Context context) {
        super(context);
    }

    public CustomScrollView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }

    public CustomScrollView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        return false;

    }

    @Override
    public boolean onTouchEvent(MotionEvent p_event) {
        if (p_event.getAction() == MotionEvent.ACTION_MOVE && getParent() != null) {
            getParent().requestDisallowInterceptTouchEvent(true);
        }
        return super.onTouchEvent(p_event);
    }
 }

在这个 ScrollView 我添加了一个 ImageView

4

1 回答 1

1

好吧,我会尝试回答..我认为(在我看来),您应该仅对 ImageView 使用 onclick,因此当您在 ScrollView 上滚动时,该 ImageView 不会被点击.. 这是我的示例代码

layout.xml上

<ImageView
            android:id="@+id/ur_img_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:contentDescription="@string/description"
            android:onClick="onClickEvent"
            android:src="@drawable/yourDrawable"
            />

然后在你的activity.java中创建事件导入android.view.View,创建一个类似于你在.xml文件中使用的方法,(在例子android:onClick=" onClickEvent ")

public void onClickEvent(View v){
      //do your event here
}

而已。

于 2013-09-23T07:26:40.850 回答