在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();
}
主要明白监听事件,在代码中注册和取消 所放的位置就好。

更多相关文章

  1. ubuntu下Android源代码模块编译
  2. Android多Module合并aar打包
  3. Android学习之Adapter(适配器)源代码分析与观察者模式的运用(一)
  4. 【Android您问我讲】如何使用选显卡 - Tabhost的使用
  5. 最全最好用的Android(安卓)Studio插件整理
  6. Android简明开发教程十八:自定义对话框 Transform
  7. 浅谈Android的TabHost
  8. android studio 使用gradle 导出jar包,并打包assets目录
  9. Android有用代码片段2

随机推荐

  1. Android中 Error generating final archi
  2. Android(安卓)Context 上下文 你必须知道
  3. webView自适应屏幕大小
  4. Android UI开发第二十三篇――分享书架UI
  5. android使用c语言编程
  6. Android 之 四大组件、六大布局、五大存
  7. 【原创】删除Android预装软件包,…
  8. Android Re-installation failed解决方法
  9. Android程序内存管理必读
  10. Android 版本 相关参数修改(SpreadTrum)