2014-05-14 47 views
0

我必須使TextView與其Y座標逐漸消失(在ScrollView中)。 文字應該逐漸消失。使視圖的某些部分透明(與他的內部Y位置有關)

這意味着信(在TextView)的頂部應該有一個alpha 0和底(同信)應該有一個alpha 1

我必須這樣做,在我CustomeView,即在ScrollView中。並使textDisepear與滾動相關。

那麼我該如何做到這一點?

用刷子可以嗎?

我有一個形象的例子:

enter image description here

我希望你能理解我的問題..

+0

我認爲這是你的問題的最佳答案:http://stackoverflow.com/questions/2680607/text-with-gradient-in-android – user2696372

回答

0

您可以使用一個Shader

Shader alphaShader = new LinearGradient(0, 0, 0, textHeight, 
     new int[] {Color.parseColor("#ff000000"), Color.parseColor("#00000000")}, 
     new float[] {0, 1}, TileMode.CLAMP); 
textView.getPaint().setShader(alphaShader); 
+0

好的,謝謝 我可以在RelativeLayout/LinearLayout/View/MyCustomeView中使用它嗎? –

+0

你可以,但是對於一個佈局,它只能在背景上工作 - 因爲它只適用於'View'自己繪製的東西。要以這種方式淡化「RelativeLayout」的子項,您需要爲它們中的每一個分配着色器,並根據其位置調整參數。此外,如果您只是想淡化可滾動的最頂層和最低層元素邊緣,請查看「android:fadingEdge」和「android:requireFadingEdge」屬性 –

+0

@ Pierre-EmmanuelMercier,該解決方案是否適合您? –