Android Api Demos登顶之路(八十九)Graphics-->Sweep
2015-10-07 16:17
477 查看
/* * LineerGradient, RadialGradient, SweepGradient 等类是Shader的 子类,Shader类定义了一个与 * 之对应的LocalMatrix,通过这个矩阵可以实现对Shader的坐标变换。通过将shader设置到Paint中我们就可以 * 用这个画笔绘制出特殊效果的图形。本例实现了动画效果。 */ public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new SampleView(this)); } private class SampleView extends View { private Paint mPaint=new Paint(Paint.ANTI_ALIAS_FLAG); private float mRotate; private Matrix mMatrix = new Matrix(); private Shader mShader; float x = 160; float y = 160; public SampleView(Context context) { super(context); setFocusable(true); setFocusableInTouchMode(true); // 定义一个扫描类型的渐变 mShader = new SweepGradient(x, y, new int[] { Color.GREEN, Color.RED, Color.BLUE, Color.GREEN }, null); mPaint.setShader(mShader); } @Override protected void onDraw(Canvas canvas) { canvas.drawColor(Color.WHITE); //设置旋转矩阵 mMatrix.setRotate(mRotate, x, y); //将旋转矩阵应用于shader mShader.setLocalMatrix(mMatrix); mRotate+=3; if(mRotate>360){ mRotate=0; } canvas.drawCircle(x, y, 80, mPaint); invalidate(); } } }
相关文章推荐
- Android中给listview/gridview设置动画(逐条加载条目动画)
- android布局layout中的一些属性
- 安卓的计算器的使用
- GPS学习笔记
- android多线程详解之AsyncTask
- android中巧妙更改spinner、AutoCompleteTextView分割线的颜色值(spinner AutoCompleteTextView divider color)
- Android Studio中项目NDK原生部分整合方式(相对路径头文件找不到的问题)
- android开发各种小功能大全
- Android与WebWiew的同步和异步访问机制
- Android沉淀学习1-android studio部分快捷键
- Android开发颜色样式及代码
- android之读取xml文件中的数据和创建
- Android学习手记(1) Activity跳转
- mac 您需要安装旧 Java SE 6 运行环境才能打开Android Studio,Intellij IDEA
- 详解Android中AsyncTask的使用
- android 签名、混淆打包
- Android中AsyncTask用法
- Android布局动画---给你的View闪亮登场
- Android实战技巧:深入解析AsyncTask
- Android:使用云服务Bomb服务简单案例