2012-07-18 28 views
29

私はScrollViewに画像があります。アンドロイドでスクロールするときにスクロールビューの端が薄くなる

画像をスクロールするときに、ScrollViewのエッジをフェード効果にしたいと考えています。 私はあなたがスクロールの終わりに達したときに得られる効果について話していません。フェードが常に存在することを願っています。私は(任意の効果をしていない)やったことだ

<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.84" 
    android:background="@drawable/screen_nespresso" 
    android:fadingEdge="horizontal" 
    android:fadingEdgeLength="@dimen/padding_large" 
    android:fillViewport="false" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:visibility="visible" > 

ありがとう!

答えて

69

私はあなたの場合は、この作業を確認していないが、ここで私のために働いていたものです:

<ScrollView android:requiresFadingEdge="vertical"> 

とあなたのコードでは、次の

ScrollView scroll = findById(); scroll.setFadingEdgeLength(150); 
+15

XMLであなたはandroid:fadingEdgeLength = "150dp"を使用してJavaコードを置き換えることができます。 – Keith

+0

さて、それも動作します。ちょうど最適化なしで私のコードをコピーしました:) – Akshat

+0

もう少し詳しくは:APIレベル14以上で動作します。 http://developer.android.com/reference/android/R.attr.html#fadingEdgeを参照してください。このページでは、パフォーマンス上の理由からフェーディングエッジを回避することも推奨しています。 – gkanwar

0

を行うことができ、これはhorizentalのためであります:

<HorizontalScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/scroll" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    android:requiresFadingEdge="horizontal" 
    android:fadingEdgeLength="80dp"> 
+0

私はXMLを読んで100%でない人のために、ここで見るべき主な属性は 'android:requiresFadingEdge'と' android:fadingEdgeLength'です。 –

関連する問題