gpt4 book ai didi

android - 捕获滑动以消除 ViewPager 中的 ListView 手势

转载 作者:行者123 更新时间:2023-11-29 14:50:28 26 4
gpt4 key购买 nike

我有一个 ListView 可以捕获滑动手势来删除一行。此 ListView 位于 Fragment 中。在手机上,这是在它自己的 Activity 中,并且效果很好。在平板电脑上,此 Fragment 位于 ViewPager 中,而 ListView 永远无法捕获任何滑动事件,因为它们总是转到 ViewPager

我该如何确保滑动手势在传递给 ViewPager 之前被 ListView 捕获并使用?

附言我正在使用 this library在我的 ListView

中滑动以关闭手势

最佳答案

How would I go about making sure swipe gestures are captured by the ListView to consume before they are passed to the ViewPager?

创建 ViewPager 的子类并覆盖 canScroll()。如果提供的 ViewListView,则返回 true 以将触摸事件提供给 ListView

例如,这是我在一些示例中使用的类,用于在 ViewPager 中托管 map :

/***
Copyright (c) 2013 CommonsWare, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy
of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required
by applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
OF ANY KIND, either express or implied. See the License for the specific
language governing permissions and limitations under the License.

From _The Busy Coder's Guide to Android Development_
http://commonsware.com/Android
*/

package com.commonsware.android.mapsv2.pager;

import android.content.Context;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.SurfaceView;
import android.view.View;

public class MapAwarePager extends ViewPager {
public MapAwarePager(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x,
int y) {
if (v instanceof SurfaceView || v instanceof PagerTabStrip) {
return(true);
}

return(super.canScroll(v, checkV, dx, x, y));
}
}

现在,完全有可能在 ViewPager 中使用滑动关闭功能,但我会从这里开始。

关于android - 捕获滑动以消除 ViewPager 中的 ListView 手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19840040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com