Android:处理在ScrollView中的空白处单击

时间:2018-10-24 19:12:10

标签: android android-scrollview

在我的Android应用程序中,有一个ScrollView,其中包含一个垂直的LinearLayout,其中包含多个视图。 LinearLayoutlayout_height = "wrap_content"ScrollView内容可能比屏幕占用更少的空间并创建空白空间(ScrollView本身具有layout_height = "match_parent")。我想处理这个空白处的点击。我尝试在setOnClickListener上使用ScrollView,但未调用回调。

2 个答案:

答案 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