package com.mamezou.android.shake;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
public class ShakeActivity extends Activity implements SensorEventListener {
private SensorManager sensorManager;
private ValueHolder x;
private ValueHolder y;
private ValueHolder z;
private View layout;
// なんちゃってAndroidの画像(Andy君)
private BitmapDrawable andy;
private static final int ELEMENT_COUNT = 30;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
layout = (View) findViewById(R.id.layout);
andy = (BitmapDrawable) getResources().getDrawable(R.drawable.andy);
}
@Override
protected void onResume() {
super.onResume();
sensorManager.registerListener(this,
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_FASTEST);
x = new ValueHolder(ELEMENT_COUNT);
y = new ValueHolder(ELEMENT_COUNT);
z = new ValueHolder(ELEMENT_COUNT);
}
@Override
protected void onStop() {
sensorManager.unregisterListener(this);
super.onStop();
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent e) {
float sensorValueX = e.values[SensorManager.DATA_X];
float sensorValueY = e.values[SensorManager.DATA_Y];
float sensorValueZ = e.values[SensorManager.DATA_Z];
x.add(sensorValueX);
y.add(sensorValueY);
z.add(sensorValueZ);
float valueX = sensorValueX - x.getMedian();
float valueY = sensorValueX - x.getMedian();
float valueZ = sensorValueX - x.getMedian();
andy.setAlpha(15 * (int)(Math.abs(valueX) + Math.abs(valueY) + Math.abs(valueZ)));
layout.setBackgroundDrawable(andy);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
摇一摇&重力传感器 Android摇一摇功能示例源码(程序源码).zip
共23个文件
class:8个
xml:3个
java:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 24 浏览量
2023-03-17
09:03:01
上传
评论
收藏 35KB ZIP 举报
温馨提示
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。
资源推荐
资源详情
资源评论
收起资源包目录
摇一摇&重力传感器 Android摇一摇功能示例源码(程序源码).zip (23个子文件)
Shake
.classpath 280B
.settings
org.eclipse.core.resources.prefs 108B
assets
src
com
mamezou
android
shake
ShakeActivity.java 2KB
ValueHolder.java 914B
res
values
strings.xml 143B
layout
main.xml 277B
drawable
andy.png 3KB
icon.png 3KB
bin
resources.ap_ 8KB
classes.dex 5KB
ShakeActivity.apk 12KB
com
mamezou
android
shake
ShakeActivity.class 3KB
R$string.class 419B
R$layout.class 415B
R$id.class 405B
R$attr.class 361B
ValueHolder.class 1KB
R$drawable.class 449B
R.class 580B
default.properties 465B
.project 808B
AndroidManifest.xml 691B
gen
com
mamezou
android
shake
R.java 741B
共 23 条
- 1
资源评论
金枝玉叶9
- 粉丝: 196
- 资源: 7637
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Redis 的 Redis Kafka 连接器(源和接收器).zip
- Flowfield Canvas.zip
- SAP Getway and OData 电子书
- Redis 的 node.js 连接管理器.zip
- 基于Python实现的决策树源代码+使用说明
- Redis 的 JDBC 驱动程序.zip
- 2001-2022年各省农作物总播种面积、粮食作物播种面积数据
- 竹竿检测7-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 非常好的电源开关设计秘笈30例100%好用.zip
- Redis 模块的 Java 客户端.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功