7

私が持っているもの:
現在、親として Scroll ビューを持っています。このスクロール ビュー内では、URL を読み込んでテキストを表示する WebView を使用しています。ここに私のxmlがあります:

<ScrollView
    android:id="@+id/parentScroll"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Heading" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="5dp" >

        <WebView
            android:id="@+id/webView"
            android:layout_width="match_parent"
            android:layout_height="300dp"
            android:background="@drawable/webview" />
    </RelativeLayout>
</ScrollView>    

私が欲しいもの:
私はその中でwebViewをスクロールしたい。webView に触れると、残念ながら親スクロール ビューが呼び出されます。親のスクロール ビューも保持する必要がありますが、これに加えて、webView に触れたときにその中の WebView コンテンツをスクロールしたいと考えています。

これどうやってするの?

4

4 に答える 4

4

Androidの設計ドキュメントによると、同じ方向にスクロールする場合は、スクロールコンテナをスクロールコンテナ内に配置しないでください。そのようなことを処理するためのものではありません。

于 2012-09-24T14:51:49.403 に答える
0

ネストされたスクロール可能なウィジェットは一般的に推奨されません。間違ったものをスクロールしやすいため、ユーザー エクスペリエンスが混乱します。外側のスクロール領域をスクロールするつもりだとしますが、最初に内側の領域に触れて、非常に激しく飛びました。次に、内側のものがスクロールし、私はハァッのようになりますか?なぜスクロールしなかったのですか?

1 つが水平方向にスクロールし、もう 1 つが垂直方向にスクロールする場合でも、ジェスチャ レコグナイザーは 1 つを別のものと混同する可能性があるため、同じ効果が得られます。これは有効なユースケースですが、まだ不安定であり、避けたいと思います。(IE: 人間は垂直方向と水平方向に完全にスワイプするわけではありません。通常は角度があります。)

スクロール可能な領域を分割するために、デザインを変更するようにプッシュします。1 ページに 1 つのスクロール可能なアイテムが理想的です。自分で提案し、両方の経験をデザイナーに提供して、どちらを選択するかを確認することもできます。

これがいかにひどいかを表現するために。この例を見てください。これは解決策ではなく、経験を示すためのものです。

<ScrollView
    android:id="@+id/parentScroll"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Heading" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" android:orientation="vertical"
    android:padding="5dp" >
    <TextView
        android:id="@+id/topText"
        android:layout_width="match_parent"
        android:layout_height="1000dp"
        android:text="@string/lotsoftext" />
    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:background="@drawable/webview" />
    <TextView
        android:id="@+id/topText"
        android:layout_width="match_parent"
        android:layout_height="1000dp"
        android:text="@string/lotsoftext" />
</RelativeLayout>

于 2012-09-24T14:57:45.833 に答える