Android:从顶部绘制带有渐变的圆弧

标签 android automatic-ref-counting paint gradient

渐变从 3 点钟开始 - 但我希望它从 12 点钟开始。

 int color1 = Color.RED;
 int color2 = Color.BLUE;
 int[] colors = {color1, color2};
 Shader gradient = new SweepGradient(width / 2, height / 2, colors, null);
 mArcPaint.setShader(gradient);

关于如何将起始时间旋转到 12 有什么建议吗?我尝试过

 Matrix matrix = new Matrix();
 matrix.postRotate(270f);
 gradient.setLocalMatrix(matrix);

但它对我不起作用。

最佳答案

需要指定旋转pointX、pointY
对于您的情况:

Matrix matrix = new Matrix();
matrix.postRotate(270f,width / 2, height / 2);
gradient.setLocalMatrix(matrix);

我使用着色器绘制圆来显示下面的不同情况

enter image description here

关于Android:从顶部绘制带有渐变的圆弧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35867124/

相关文章:

javascript - 如何在 Android 中将 javascript 应用到我的 webView 的 html 内容?

java - 如何使用 WebView 从 Google Drive 下载 PDF 文件

java - Android:资源中的翻译

ios - 在异步操作后设置 CoreData 字段(但不包括其他字段)时的 EXC_BAD_ACCESS

ios - 实际内存不断增加 - 从 View 中删除 subview - iOS (ARC)

java - 如何在 Android 中添加嵌套对象作为 JavascriptInterface?

objective-c - 使用 Xcode 生成 UML 代码

java - 尝试将 JLabel 置于 Paint 上方

java - 创建一个清除按钮来清除 Canvas android

java - java中调用游戏中fps tick的paint方法