Al_*_*_th 31 android paint shadow
我为我的应用程序开发了一个自定义视图组件,我正在努力为圆圈添加阴影.
这是我的类扩展View的代码
public class ChartView extends View {
public ChartView(Context context, AttributeSet attributeSet){
super(context, attributeSet);
init();
}
Paint paint;
public void init(){
paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.FILL);
paint.setShadowLayer(30, 0, 0, Color.RED);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawCircle(getWidth()/2, getHeight()/2,50, paint);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我注意到,取决于API,对shadowLayer有很大影响.
这是输出
<uses-sdk android:targetSdkVersion="13"/>
Run Code Online (Sandbox Code Playgroud)

这是输出
<uses-sdk android:targetSdkVersion="14"/> //Higher target API yields the same output.
Run Code Online (Sandbox Code Playgroud)

知道如何克服这种不必要的行为吗?
最好的祝福
Rom*_*Guy 72
setShadowLayer()仅在启用硬件加速时支持文本.默认情况下,硬件加速时间为targetSdk=14或更高.一个简单的解决方法是将您的View放在软件层中:myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null).
| 归档时间: |
|
| 查看次数: |
34687 次 |
| 最近记录: |