w.d*_*onk 16 android gradient colors shadow textview
我有个问题.我想要一个带有渐变颜色的textview.它背后有一个黑色的影子.问题是阴影使用渐变的颜色而不是使用被调用的颜色(Color.BLACK)
我的代码是:
numberTextView = (TextView)findViewById(R.id.something);
Shader textShaderTop = new LinearGradient(0, 30, 0, 60,
new int[]{Color.parseColor("#A6A6A6"), Color.parseColor("#E8E8E8"), Color.parseColor("#A6A6A6")},
new float[]{0, 0.5f, 1}, TileMode.CLAMP);
numberTextView.getPaint().setShader(textShaderTop);
numberTextView.setShadowLayer(
0.1f, //float radius
20f, //float dx
20f, //float dy
Color.BLACK //this is not black on the screen, but it uses the gradient color!?
);
Run Code Online (Sandbox Code Playgroud)
有谁知道该怎么做
sid*_*don 18
我有完全相同的问题.我设法通过扩展TextView和重写onDraw方法来修复它.这是它的样子
@Override
protected void onDraw(Canvas canvas) {
// draw the shadow
getPaint().setShadowLayer(1, 1, 1, 0xbf000000); // or whatever shadow you use
getPaint().setShader(null);
super.onDraw(canvas);
// draw the gradient filled text
getPaint().clearShadowLayer();
getPaint().setShader(new LinearGradient(0, getHeight(), 0, 0, 0xffacacac, 0xffffffff, TileMode.CLAMP)); // or whatever gradient/shader you use
super.onDraw(canvas);
}
Run Code Online (Sandbox Code Playgroud)
但是,如果要在渐变中使用具有透明度的颜色,则此方法可能无效.
| 归档时间: |
|
| 查看次数: |
6024 次 |
| 最近记录: |