【发布时间】:2017-12-20 03:32:12
【问题描述】:
我注意到通过添加 HorizontalScrollView 会禁用我在 ListView 上选择项目的能力。这似乎是要添加的非常基本/常见的功能(我希望能够向左滑动我的项目以提供删除选项)但 HorizontalScrollView 似乎与您也想触摸的项目不兼容选择。请注意,如果我将HorizontalScrollView 更改为LinearLayout,否则这些项目将变为可选。
我怀疑touch listeners 可能由于滑动功能overrides 任何其他类型的触摸而无效,但我真的想不出为什么它不起作用。任何人都可以帮助解决这个问题吗?我希望能够将HorizontalScrollView 与click compatibility 一起使用(除非有其他方法可以实现相同的功能)。
<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout4"
android:layout_width="384dp"
android:layout_height="110dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/task_view_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="17dp"
android:layout_marginTop="28dp"
android:fontFamily="@font/robotolight"
android:text="@string/task_name"
android:textColor="@android:color/black"
android:textSize="24sp"
app:layout_constraintStart_toEndOf="@+id/task_view_icon"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/task_view_icon"
android:layout_width="77dp"
android:layout_height="77dp"
android:layout_marginStart="17dp"
android:layout_marginTop="17dp"
android:contentDescription="@+string/icon"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/main_page_icon_switch_x4" />
<TextView
android:id="@+id/task_view_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginTop="36dp"
android:fontFamily="@font/robotolight"
android:text="@string/duration"
android:textColor="@android:color/black"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@+id/task_view_name"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/task_view_detail"
android:layout_width="228dp"
android:layout_height="31dp"
android:layout_marginStart="17dp"
android:fontFamily="@font/robotolight"
android:text="@string/task_view_detail_literal"
android:textColor="@android:color/black"
android:textSize="12sp"
app:layout_constraintStart_toEndOf="@+id/task_view_icon"
app:layout_constraintTop_toBottomOf="@+id/task_view_name" />
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:id="@+id/task_delete"
android:layout_width="116dp"
android:layout_height="110dp"
android:background="@color/colorPrimary"
app:layout_constraintEnd_toEndOf="@id/constraintLayout4"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/task_delete_literal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="13dp"
android:layout_marginTop="39dp"
android:fontFamily="@font/roboto_regular"
android:text="@string/delete"
android:textColor="@android:color/background_light"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
</LinearLayout>
</HorizontalScrollView>
【问题讨论】:
-
尝试如何用RecyclerView构建水平ListView? stackoverflow.com/questions/28460300/…
-
如果我误解了,请原谅我,但我希望水平滚动到垂直 ListView 行,而不是水平 ListView。
-
你能分享一个截图的例子吗?
-
这不是在回答你的问题,但我可以问一下 2
ConstraintLayouts 的目的 -
@Kiya 我尝试了几种组合。经过一些试验和错误后,我可能有一个解决方案(我还没有在网上看到),我将在今天晚些时候在这里发布。
标签: android listview horizontalscrollview