如何检测在水平滚动视图中向上滑动 - Android
How to detect swipe up in horizontal scroll view - Android
我有一个 HorizontalScrollView,它有 2 张水平滚动的卡片,我想检测向上滑动手势来执行某些操作,但那没有发生。
我在这里查看了其他解决方案,但它们对我的问题不起作用。
这是我的 XML:
<HorizontalScrollView
android:id="@+id/cardScroll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/cardBalanceValue"
android:layout_marginStart="20dp"
android:layout_marginTop="60dp"
android:scrollbars="none">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:verticalScrollbarPosition="left">
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardOne"
android:layout_width="200dp"
android:layout_height="300dp"
android:elevation="50dp"
android:transitionName="cardTransition"
app:cardBackgroundColor="@android:color/holo_blue_dark"
app:cardCornerRadius="8dp"
app:cardElevation="20dp"
app:rippleColor="#102A5C"
app:strokeWidth="2dp" />
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardTwo"
android:layout_width="200dp"
android:layout_height="300dp"
android:layout_marginStart="30dp"
android:layout_marginEnd="20dp"
app:cardBackgroundColor="@android:color/holo_orange_light"
app:cardCornerRadius="8dp"
app:cardElevation="20dp"
app:strokeWidth="2dp" />
</LinearLayout>
</HorizontalScrollView>
尝试使用 onTouchListner
例如:
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
}
case MotionEvent.ACTION_UP: {
//do something with up swipe
}
}
return false;
}
});
我有一个 HorizontalScrollView,它有 2 张水平滚动的卡片,我想检测向上滑动手势来执行某些操作,但那没有发生。
我在这里查看了其他解决方案,但它们对我的问题不起作用。
这是我的 XML:
<HorizontalScrollView
android:id="@+id/cardScroll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/cardBalanceValue"
android:layout_marginStart="20dp"
android:layout_marginTop="60dp"
android:scrollbars="none">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:verticalScrollbarPosition="left">
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardOne"
android:layout_width="200dp"
android:layout_height="300dp"
android:elevation="50dp"
android:transitionName="cardTransition"
app:cardBackgroundColor="@android:color/holo_blue_dark"
app:cardCornerRadius="8dp"
app:cardElevation="20dp"
app:rippleColor="#102A5C"
app:strokeWidth="2dp" />
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardTwo"
android:layout_width="200dp"
android:layout_height="300dp"
android:layout_marginStart="30dp"
android:layout_marginEnd="20dp"
app:cardBackgroundColor="@android:color/holo_orange_light"
app:cardCornerRadius="8dp"
app:cardElevation="20dp"
app:strokeWidth="2dp" />
</LinearLayout>
</HorizontalScrollView>
尝试使用 onTouchListner
例如:
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
}
case MotionEvent.ACTION_UP: {
//do something with up swipe
}
}
return false;
}
});