[size=medium]
有时候在旅游时候不知道方向了~在小伙伴们面前掏出手机,秀一下我们自制的指南针可是很溜很溜的哟~~~虽然这不是很复杂难懂的原理和技术。下面直接进入代码咯(Just show you my code...)
主函数页面的代码:
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.widget.ImageView;
public class CompassTestActivity extends Activity implements
SensorEventListener {
// 定义显示指南针图片的组件
private ImageView image;
// 记录指南针图片转过的角度
private float currentDegree = 0f;
// 定义真机的Sensor管理器
private SensorManager mSensorManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image = (ImageView) findViewById(R.id.main_iv);
// 获取真机的传感器管理服务
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
}
@Override
protected void onResume() {
super.onResume();
// 为系统的方向传感器注册监听器
mSensorManager.registerListener(this,
mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
SensorManager.SENSOR_DELAY_GAME);
}
@Override
protected void onPause() {
super.onPause();
// 取消注册
mSensorManager.unregisterListener(this);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@Override
public void onSensorChanged(SensorEvent event) {
// 如果真机上触发event的传感器类型为水平传感器类型
if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
// 获取绕Z轴转过的角度
float degree = event.values[0];
// 创建旋转动画(反向转过degree度)
RotateAnimation ra = new RotateAnimation(currentDegree, -degree,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
// 设置动画的持续时间
ra.setDuration(200);
// 设置动画结束后的保留状态
ra.setFillAfter(true);
// 启动动画
image.startAnimation(ra);
currentDegree = -degree;
}
}
}
下边是页面的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" >
<ImageView
android:id="@+id/main_iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/znz" />
</LinearLayout>
这是图片:
[/size]
分享到:
相关推荐
6. **比较与验证**:将自制的电子指南针与iPhone和华为手机内置的指南针进行比较,这是一种常见的测试和验证方法。通过比较偏差,可以评估自制指南针的精度和稳定性。 7. **PCB设计**:“新PCB15W408AS-HMC5883”...
制作完成后,学生会测试自制指南针是否能有效指示方向。 在使用指南针定方向的部分,学生将进行小组合作,学习如何正确操作指南针,判断教室的各个方向。此外,还会通过游戏加深理解,利用指南针找出藏有磁铁的同学...
标题中的“自制手机铃声”指的是用户通过个人喜好和创意,自行制作个性化手机铃声的过程。这通常涉及到音频编辑和处理技术,使用户能够从现有的音乐文件中选取特定片段作为来电提示音。描述中提到的“让那些收费的...
《电子罗盘指南针制作资料》是一份详尽的DIY资源包,涵盖了从理论到实践的全过程。这份资料集合了中英文参考资料,为想要自制电子罗盘的爱好者提供了宝贵的指导。电子罗盘,又称磁罗盘,是利用地磁场进行方向指示的...
《LabTool-48自制适配器指南》是台湾研华公司发布的一份详细指导文档,旨在帮助电子工程师和DIY爱好者制作适用于多种芯片封装类型的适配器。这份指南覆盖了MSOP-0808-018pin、PLCC-2020-0120pin以及PLCC-2824-0428...
自制太阳能手机充电器.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器.zip电子电路图...
自制手机无线充电器 titre : 自制手机无线充电器 描述:本文档介绍了如何自制手机无线充电器,解决了智能手机续航能力不佳的问题。作者madzero制作了一个自制的无线充电器,使用了点金石无线充电技术,具有便捷、...
压缩包中的"自制S1耳机转接线_杜洋的工作博客_百度空间.png"很可能是一个关于如何自制多普达S1型号手机耳机转接线的图像教程。这个图片可能展示了具体的步骤、所需材料和工具,以及可能遇到的注意事项。通过这个教程...
本文将深入探讨自制太阳能手机充电器的相关知识点。 1. 太阳能原理: 太阳能充电器的核心是太阳能电池板,也称为光伏(PV)面板。这种面板由多个光伏单元组成,每个单元由硅等半导体材料制成。当太阳光照射到电池板...
标题中的“地平线和指南针的DIY飞行仪表-项目开发”指的是一个关于创建自制飞行模拟仪表的项目。这个项目特别关注两个关键元素:地平仪和指南针,它们在飞行中是至关重要的导航工具。地平仪用于指示飞机相对于水平面...
自制的unity AR相机,适配安卓和iOS,不需要任何外部插件。打开手机摄像头、陀螺仪相机,完美运行。
【标题】:“0537、自制太阳能手机充电器.rar” 暗示我们要讨论的是一个关于自制太阳能手机充电器的项目。太阳能手机充电器是一种利用太阳能转换为电能,为手机提供电力的设备,它可以帮助我们在户外或者无电源的...
DIY自制车用手机充电器的概念和制作方法蕴含了大量的电子工程知识,从材料选择、电路设计到实践操作,每一步都包含了丰富的技术要点。接下来,将详细解读该文档中提到的知识点。 首先,文档开头提到原有的车用手机...
总的来说,创建一个“Android自制手机相册”涉及到的知识点包括:MediaStore内容提供者、数据查询与存储、ListView/RecyclerView的使用、图片加载库(如Glide或Picasso)、手势识别、Zoomable控件、运行时权限管理、...
标题中的“自制U盘 自制U盘自制U盘”似乎是一个重复的表述,但我们可以理解为这个项目或教程是关于如何自制U盘的。描述部分同样如此,没有提供额外的信息,所以我们主要依赖标签和压缩包内的文件来推断知识点。 ...
自制太阳能手机充电器设计资料.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器设计资料.zip电子电路图PCB单片机设计案例资料自制太阳能手机充电器设计资料.zip电子电路图PCB单片机设计案例资料自制太阳能...
【描述】:“0537、自制太阳能手机充电器.zip”描述可能暗示了一个教程或者项目指南,可能是关于DIY(自制)太阳能手机充电器的步骤和方法,包含了详细的操作流程和所需材料。 【标签】:“资料”表明提供的内容...
标题中的“自制太阳能手机充电器”表明这是一个关于利用太阳能为手机提供电源的项目。这个项目可能包含了一系列步骤、设计原理和所需材料,旨在帮助用户理解并制作自己的太阳能手机充电装置。接下来,我们将深入探讨...
《CPU自制入门》是一本专为对CPU设计与编程感兴趣的读者准备的经典书籍,它深入浅出地介绍了CPU的内部构造和工作原理,是CPU自制入门的绝佳指导资料。通过阅读这本书,你可以了解到从基础的逻辑门电路到复杂的微处理...