在我的Android应用程序中,有一个ScrollView
,其中包含一个垂直的LinearLayout
,其中包含多个视图。 LinearLayout
有layout_height = "wrap_content"
。 ScrollView
内容可能比屏幕占用更少的空间并创建空白空间(ScrollView
本身具有layout_height = "match_parent"
)。我想处理这个空白处的点击。我尝试在setOnClickListener
上使用ScrollView
,但未调用回调。
答案 0 :(得分:0)
您可以尝试在ScrollView
的父视图(例如FrameLayout
)视图上添加回调:
<FrameLayout
android:id="@+id/scrollViewContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="onBlankSpaceClick">
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- continue... -->
或以编程方式附加回调:
scrollViewContainer.setOnClickListener(::onBlankSpaceClick)
答案 1 :(得分:0)
应该可以在 LinearLayout
的底部添加一个占位符视图,如果有的话,它会填充空白空间。
确保您的 ScrollView
设置了 android:fillViewport="true"
,并且最后一个占位符视图设置了 android:layout_height="match_parent"
。
像这样:
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
... other views
<View
android:id="@+id/remainingScrollViewSpace"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
</ScrollView>
如果您想在该“空”空间上获得点击事件,请在 onClickListener
上添加 remainingScrollViewSpace
。