我必須使TextView
與其Y座標逐漸消失(在ScrollView
中)。 文字應該逐漸消失。使視圖的某些部分透明(與他的內部Y位置有關)
這意味着信(在TextView
)的頂部應該有一個alpha 0和底(同信)應該有一個alpha 1
我必須這樣做,在我CustomeView,即在ScrollView中。並使textDisepear與滾動相關。
那麼我該如何做到這一點?
用刷子可以嗎?
我有一個形象的例子:
我希望你能理解我的問題..
我必須使TextView
與其Y座標逐漸消失(在ScrollView
中)。 文字應該逐漸消失。使視圖的某些部分透明(與他的內部Y位置有關)
這意味着信(在TextView
)的頂部應該有一個alpha 0和底(同信)應該有一個alpha 1
我必須這樣做,在我CustomeView,即在ScrollView中。並使textDisepear與滾動相關。
那麼我該如何做到這一點?
用刷子可以嗎?
我有一個形象的例子:
我希望你能理解我的問題..
您可以使用一個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);
好的,謝謝 我可以在RelativeLayout/LinearLayout/View/MyCustomeView中使用它嗎? –
你可以,但是對於一個佈局,它只能在背景上工作 - 因爲它只適用於'View'自己繪製的東西。要以這種方式淡化「RelativeLayout」的子項,您需要爲它們中的每一個分配着色器,並根據其位置調整參數。此外,如果您只是想淡化可滾動的最頂層和最低層元素邊緣,請查看「android:fadingEdge」和「android:requireFadingEdge」屬性 –
@ Pierre-EmmanuelMercier,該解決方案是否適合您? –
我認爲這是你的問題的最佳答案:http://stackoverflow.com/questions/2680607/text-with-gradient-in-android – user2696372