view.setOnTouchListener滑动不了,需增加view的clickable的属性


		relativelayout_flingallery_.setOnTouchListener(new View.OnTouchListener() {

			@Override
			public boolean onTouch(View v, MotionEvent event)
			{
				// TODO Auto-generated method stub
				return flinggallery_1.onGalleryTouchEvent(event);
			}

		});

    <RelativeLayout
        android:id="@+id/relativelayout_fling_"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/relativelayout_buttons_" >

        <RelativeLayout
            android:id="@+id/relativelayout_flingallery_"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:clickable="true" >

            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:adjustViewBounds="true"
                android:scaleType="fitXY"
                android:src="@drawable/mainwin_title" />
        </RelativeLayout>

        <LinearLayout
            android:id="@+id/linearlayout_flinggallery_image_flag"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/relativelayout_flingallery_"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="10dip"
            android:orientation="horizontal" >
        </LinearLayout>
    </RelativeLayout>


Android中的View滑动灵敏度可以通过设置View滑动阈值来实现。可以通过设置ViewsetOnTouchListener方法,在OnTouchListener的回调函数中获取手指的滑动距离,并根据要进行相应的处理。 例如,可以通过设置一个滑动距离阈值,当手指滑动距离超过该阈值时才进行滑动操作,可以实现View滑动灵敏度控制。具体实现方式可以参考以下代码示例: ``` view.setOnTouchListener(new View.OnTouchListener() { private float startX; private float startY; private float moveX; private float moveY; private float distanceX; private float distanceY; private int touchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); @Override public boolean onTouch(View view, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: startX = event.getX(); startY = event.getY(); break; case MotionEvent.ACTION_MOVE: moveX = event.getX(); moveY = event.getY(); distanceX = moveX - startX; distanceY = moveY - startY; if (Math.abs(distanceX) > touchSlop || Math.abs(distanceY) > touchSlop) { // 滑动距离超过阈值,进行相应的操作 // TODO: 进行滑动操作 } break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: startX = 0; startY = 0; moveX = 0; moveY = 0; distanceX = 0; distanceY = 0; break; } return true; } }); ``` 在该代码中,我们通过获取手指在屏幕上的滑动距离,计算出滑动的横向和纵向距离,当滑动距离超过阈值时,执行相应的滑动操作。可以通过调整touchSlop的值来控制滑动灵敏度的大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值