1
我想以編程方式呈現TextView
的邊緣褪色。通過哪種模式,我可以創建一個真正的alpha梯度?PorterDuff.Mode等效於邊緣褪色
一個真正的邊緣衰落應順利地從1.0
減少透明度(沒有覆蓋梯度劈)至0.0
使得頂視圖淡出到背景圖。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int y = 0;
int height = 300;
int width = getWidth();
LinearGradient shader = new LinearGradient(width/2, y, width/2, y + height, 0xff000000, 0x0000000, Shader.TileMode.CLAMP);
Paint p = new Paint();
p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.XXX)); // Which mode works?
p.setShader(shader);
canvas.drawRect(0, y, width, y + height, p);
}
我試過所有的組合,他們都沒有工作?這是不可能的嗎?
你有定期無效'TextView'? –
@鄭紅旺,問題是我無法獲得所需的邊緣衰落結果。我嘗試了所有的'PorterDuff.Mode'選項,它只畫黑到透明漸變。我想讓文本的不透明度像佈局'requireFadingEdge'屬性一樣淡化爲零。 –
'PorterDuff'用於在android官方演示中重疊兩個圖像。我認爲'動畫'可以爲你做到這一點。 –