3

最近、スクロールビューでいくつかの問題が発生しています。フリングが発生した後、タッチ イベントはスクロールビュー内の要素に到達しません。フリングが発生した後、まずビューをもう一度タップする必要があります。その後、通常の動作が復元されます。私はすでに次のような多くの回避策を試しました:

  • フリング後に手動でモーション イベント (アップ/ダウン) を発生させます。これは機能しますが、いくつかの深刻な問題があります。これは、特定の x+y でビューに再度触れることと同じであるため、推測する理由を説明する必要はありません。
  • タッチ イベントをインターセプトし、常に下層のビューに渡します。

しかし、これはすべて非常に面倒で、そもそも望ましくない動作のように思えませんか?

スクロールビューは、オンフリングが発生した後、新しい通常の(フリングなしの)上下のタッチまですべてを傍受するようです。

 <android.support.v4.widget.NestedScrollView
    android:id="@+id/fsv_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@color/white">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:src="@drawable/marker"
        android:padding="@dimen/spacing_small"/>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv_jobs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        />

</LinearLayout>

</android.support.v4.widget.NestedScrollView>
4

1 に答える 1

-1

別のスクロール ビュー( NestedScrollView) を含むスクロール ビュー ( ) がありRecyclerViewます。私には問題のように聞こえます。

なぜそのようなレイアウトが必要なのですか?

于 2015-10-29T13:01:16.313 に答える