在Compass这个的例程中,主要讲述了path的画法,以及感应器的使用,只是忽然觉得android开发商变懒了,已经将要废弃的代码,还不变一下新的历程,继续用以前的比较汗。
先说一下path的使用 其实主要是那么几行代码:
mPath.moveTo(0, -50);
mPath.lineTo(-20, 60);
mPath.lineTo(0, 50);
mPath.lineTo(20, 60);
mPath.close();
这是在构造函数中首先初始化的一个path,就是一个箭头的轮廓,这里要注意的是第一句和最后一句,第一句是开始的基点,最后一句是把整个路径封闭死,即把开始的点和最后的点连接在一起,构成一个封闭图形。让然如果你的笔触设置是full而不是STROKE,那么看起来是没有变化的
后面就是将这个图形显示在屏幕上
@Override protected void onDraw(Canvas canvas) {
Paint paint = mPaint;
canvas.drawColor(Color.WHITE);
paint.setAntiAlias(true);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
int w = canvas.getWidth();
int h = canvas.getHeight();
int cx = w / 2;
int cy = h / 2;
//将图形移动到指定点
canvas.translate(cx, cy);
//图形旋转一个角度
canvas.rotate(270);
//画布上用指定画笔绘出路径
canvas.drawPath(mPath, mPaint);
}
这个例程中还讲了感应器的使用:虽然方法已经废弃,可是使用的地方还是值得学习的:
首先还是 得到一个管理器: mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
然后构造监听事件
private final SensorListener mListener = new SensorListener()
现在变成了SensorEventListener 里面需要实现的方法有两个:
onAccuracyChanged(Sensor sensor, int accuracy)
onSensorChanged(SensorEvent event)
然后呢就是让这个监听器发生作用,发生的位置在:
protected void onResume()
{
super.onResume();
//已经废弃
mSensorManager.registerListener(mListener,
SensorManager.SENSOR_ORIENTATION,
SensorManager.SENSOR_DELAY_GAME);
}
不想监听 则:
protected void onStop()
{
mSensorManager.unregisterListener(mListener);
super.onStop();
}
主要明白监听事件,在代码中注册和取消 所放的位置就好。
分享到:
相关推荐
本资源“安卓Android源码——画图程序源码.zip”提供了这样一个应用的源代码,帮助开发者理解和实现自定义画布功能。 首先,让我们探讨一下Android中的画图机制。Android提供了一个名为`Canvas`的类,它是绘画的...
这个"Android源码——画图程序源码.zip"文件包含了一个简单的Android应用程序,它允许用户在屏幕上自由绘制图形。通过分析这个源码,我们可以深入理解Android图形系统、触摸事件处理以及自定义View的机制。 首先,...
下面,我们将深入探讨Android画图工具的实现原理及其相关的知识点。 1. **Canvas与Paint**: Android中的`Canvas`是绘画的基础,它提供了在Bitmap或者屏幕上的图形绘制能力。`Paint`对象则控制了绘制的样式,如颜色...
这份"Android源码——画图工具源码.zip"提供了实现此类应用的具体代码,让我们来深入探讨其中所涵盖的知识点。 1. **Android图形系统**:Android使用SurfaceView或者Canvas来支持实时的图形绘制。SurfaceView是...
这份“安卓Android源码——画图工具源码.zip”压缩包提供了一个实现此类功能的源代码示例。通过分析和学习这份源码,我们可以了解如何在Android上构建一个简单的画图应用。 首先,我们要明白Android应用的基本架构...
总结,这个"安卓Android源码——使用代码绘制一个电池 (非图片)"的示例,旨在教开发者如何利用Android的图形绘制API来自定义复杂UI组件,不仅提升了用户体验,也锻炼了开发者对底层图形绘制的理解和掌控能力。...
1. **GestureOverlayView**: 这是Android SDK提供的一种视图类,用于接收和显示用户的画图手势。开发者可以利用这个组件来捕捉用户的手势动作,并将其转换为可识别的密码。 2. **GestureDetector**: ...
博客《自定义控件三部曲之绘图篇(六)——Path之贝赛尔曲线和手势轨迹、水波纹效果》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/50995587
这个压缩包文件"安卓Android源码——(添加自定义多边形).rar"显然是提供了一个关于如何在Android应用中创建自定义多边形的示例代码。 1. **自定义View**: 在Android中,我们通常通过继承`View`或`ViewGroup`类来自...
Android还提供了一种更高级的绘图方式——Drawables。Drawables不仅可以是简单的图形,还可以是图片资源,如位图、九宫格图像等。它们可以单独使用,也可以嵌套在其他视图中,提供了更多的布局和动画可能性。 5. *...
根据给定文件的信息,本文将对Android绘画技术中的Paint组件进行深入探讨,并总结其关键知识点。Paint在Android绘画中扮演着至关重要的角色,它不仅控制了绘制文本、形状的颜色和风格,还支持复杂的绘画效果。 ### ...
在安卓(Android)平台上开发应用时,我们经常会遇到需要实现用户交互、绘制图形的需求,比如创建一个涂鸦应用或者画图工具。这个“安卓Android源码——一个涂鸦还有画矩形 圆形的小Demo.zip”就是这样一个示例,它...
在安卓(Android)平台上开发应用时,我们经常会遇到需要实现画笔(Pen)和橡皮擦(Eraser)功能的情况,比如在画图应用或手写笔记应用中。本示例是一个基于Android的源码Demo,它展示了如何在Android应用程序中实现...