2012-03-01 20 views
2

私は、TextViewの中にmaxHeightが定義され、内部に長いテキストがいくつかありますが、LinearLayoutにはさまざまな要素を含むScrollViewがあります。 TextView内のテキストをスクロールするには、その内部でタッチ&ドラッグすると、ScrollViewの通常のスクロールを有効にする必要があります。ScrollView内の複数のスクロール可能なTextView

可能な限り、これを行うには適切かつエレガントな方法がありますか?汚れて、すべての要素のハンドラを無効にする必要がありますか?

UPD 1:thisから判断すると、洗練されたソリューションはなく、UIをスクロール可能な要素の1つのレイヤーだけを含むように再考する必要があります。

+0

固定数のtextviewがありますか、それとも動的ですか? – mudit

+0

ちょうど2.今のところ。将来的にはもっとそうかもしれませんが、それが疑問であればレイアウトは静的です。 –

答えて

5

だから、それはかなりではないのですが、あなたはのTextViewから延び、スクロールからscrollviewをブロックすることができます。あなたのtextviewsが十分な大きさでない限り、それは素晴らしいものではありません。このソリューションを使用した後で、ユーザーが完全なものを表示するためにクリックできる「詳細を表示」ラベルを持っていることが最良であることがわかりました。とにかくTextViewから拡張し、onTouchEventメソッドをオーバーライドします:

public boolean onTouchEvent(MotionEvent ev) { 
    if (ev.getAction() == MotionEvent.ACTION_DOWN) { 
     this.getParent().requestDisallowInterceptTouchEvent(true); 
    } 
    if (ev.getAction() == MotionEvent.ACTION_UP) { 
     this.getParent().requestDisallowInterceptTouchEvent(false); 
    } 

    return super.onTouchEvent(ev); 
    } 
+0

あなたが言ったように、それはかなりではありませんが、他の方法はないようです。ありがとうございました。 :) –

0

ScrollViewはFrameLayoutです。つまり、スクロールするコンテンツ全体を含む子を1つ配置する必要があります。この子自体が、オブジェクトの複雑な階層を持つレイアウトマネージャである場合があります。子としてよく使用されるのはLinearLayoutであり、ユーザーがスクロールできる最上位項目の垂直配列を示します。あなたはより多くの情報のためAPIdemosを見ることができます

<ScrollView 
    android:id="@+id/ScrollView01" 
    android:layout_height="150px" 
    android:layout_width="fill_parent"> 

    <TextView 
    android:id="@+id/TEXT_VIEW" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:text="This text view should act as header This text view should act as header This text view should act as header This text view should act as header This text view should act as header This text view should act as header This text view should act as header" /> 
</ScrollView> 
+0

私はそれを知っています。私の 'ScrollView'は子として' LinearLayout'を持ち、TextViewは 'LinearLayout'の中に入っています。しかし、私は彼らに自分のスクロールを持たせることはできません、 'ScrollView'のスクロールが引き継ぎます。私は子供のスクロール処理を親のものよりも優先させる何らかの性質があるかもしれないと考えました。 –

0

、テキストの同じウィンドウに自分の定型化されたscrollviewとの多くのビューがあります。あなたが訪問することができ、よりinforationについて:

http://developer.android.com/resources/samples/ApiDemos/index.html

+0

APIデモで唯一見つけられるのは、 'LinearLayout'が動的に追加された' ScrollView'です。 'ScrollView'の中にネストされた' TextView'に関連するものは(私が見ることができる)何もありません。 –

関連する問題