`
我是城
  • 浏览: 15698 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Android一直震动源码

阅读更多
package com.vibrator.vibratordemo;

import android.os.Bundle;
import android.os.Vibrator;
import android.app.Activity;
import android.app.Service;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;

public class MainActivity extends Activity implements OnClickListener, OnSeekBarChangeListener {

	private Button btnstart;
	private SeekBar seekbar1;
	private boolean isClick;
	/***************************************************************************
	 * 要让手机乖乖的震动,需创建Vibrator对象,通过调用vibrate方法来达到震动的目的, 在Vibrator的构造器中有4个参数,
	 * 前3个的值是设置震动的大小,在这边可以把数值改成一大一小,这样就可以明显感觉出
	 * 震动的差异,而最后一个值是设置震动的时间。以下的范例设置每个震动的模式都不一样, long[] pattern :自定义震动模式
	 * 。数组中数字的含义依次是[静止时长,震动时长,静止时长,震动时长。。。]时长的单位是毫秒 boolean isRepeat :
	 * 是否反复震动,如果是true,反复震动,如果是false,只震动一次 -1 只震动一次
	 *************************************************************************/
	private Vibrator vibrator;

	private int num = 10;// 震动时间

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		btnstart = (Button) findViewById(R.id.btn_start);
		seekbar1 = (SeekBar) findViewById(R.id.seekbar1);
		btnstart.setOnClickListener(this);

		vibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);

		seekbar1.setMax(1000);
		seekbar1.setOnSeekBarChangeListener(this);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

	@Override
	public void onClick(View v) {

		if (!isClick) {
			/* 短震动 */
			// vibrator.vibrate(new long[] { 100, 10, 100, 1000 }, -1);
			/* 短震动循环 */
			vibrator.vibrate(new long[] { num, 25000 }, 0);
			/* 长震动 */
			// vibrator.vibrate(new long[]{100,100,100,1000},0);
			/* 节奏震动 */
			// vibrator.vibrate(new long[]{1000,50,1000,50,1000},0);
			isClick = true;
			btnstart.setText("暂停");
		} else {
			vibrator.cancel();
			isClick = false;
			btnstart.setText("开始");

		}
	}

	@Override
	protected void onPause() {

		vibrator.cancel();

		super.onPause();
	}

	@Override
	public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

	}

	@Override
	public void onStartTrackingTouch(SeekBar seekBar) {

	}

	@Override
	public void onStopTrackingTouch(SeekBar seekBar) {
		Log.i(getClass().getSimpleName(), "seekbar长度发生改变");
		num = seekBar.getProgress();
		Log.i(getClass().getSimpleName(), "num=" + num);
		if (isClick) {

			vibrator.vibrate(new long[] { num, 1000 }, 0);
		}
	}

}

 界面浏览图


 

界面代码

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <Button
            android:id="@+id/btn_start"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="开始" />

        <SeekBar
            android:id="@+id/seekbar1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

</RelativeLayout>

 java代码


                

   

 

  • 大小: 6.3 KB
分享到:
评论

相关推荐

    13套安卓源码合集Android应用源码.zip

    android应用源码手机震动.rar android应用源码有盟自动更新.rar android应用源码百度地图路线规划.rar android应用源码速度仪表盘.rar android应用源码高仿天天动听音乐.rar android应用源码高仿陌陌.rar

    android应用源码手机震动.rar

    【标题】"android应用源码手机震动.rar"指的是一个Android应用程序的源代码,该源代码实现了手机震动功能。在Android平台上,开发者可以利用系统提供的API来控制设备的震动,为用户带来不同的交互体验。 【描述】...

    android应用源码手机震动.zip

    本资源“android应用源码手机震动.zip”提供了一个关于如何在Android应用中实现手机震动功能的示例源码,非常适合开发者进行参考和学习。 在Android系统中,手机震动的实现主要依赖于`Vibrator`类,它位于`android....

    android 震动 项目源码

    在“android 震动 项目源码”中,我们可以学习如何在Android应用中集成震动功能,以及如何控制震动的强度和持续时间。 1. **Vibrator类介绍** Vibrator类是Android系统提供的一个接口,它允许应用控制设备的震动...

    Android图片点击震动效果源码.zip

    这份“Android图片点击震动效果源码”提供了一种实现方法,接下来我们将深入探讨这个功能的实现原理。 首先,我们需要理解Android的震动API。Android系统提供了`Vibrator`类,它允许应用在设备上产生震动效果。`...

    Android应用源码-实现Vibrator测试功能,短震动,长震动,频率震动,取消震动.zip

    这个压缩包"Android应用源码-实现Vibrator测试功能,短震动,长震动,频率震动,取消震动.zip"包含了一个示例应用,它详细展示了如何利用Vibrator类的各种方法来控制手机或平板电脑的振动效果。现在我们将深入探讨...

    Android安卓手机震动功能如何实现【源码】.rar

    下面将详细介绍Android震动功能的实现原理及步骤。 1. **Vibrator服务** Android提供了`Vibrator`类,它允许应用程序控制设备的震动。这个类是`android.os.Vibrator`,属于系统服务,可以通过`Context....

    Android程序研发源码Android 图片点击震动效果源码.zip

    本资源“Android程序研发源码Android 图片点击震动效果源码.zip”提供了实现图片点击时产生震动效果的源代码,这对于开发者来说是一个实用的示例。接下来,我们将深入探讨如何在Android应用中实现这一功能。 首先,...

    Android例子源码防止睡过定时震动手机的小例子

    这个"Android例子源码防止睡过定时震动手机的小例子"提供了实现此类功能的示例代码,可以帮助开发者理解如何在Android系统中进行定时任务的设定以及控制设备的震动功能。 首先,我们要了解Android中的AlarmManager...

    Android例子源码模仿ios密码错误时震动的效果

    总的来说,这个Android例子源码的核心在于使用`Vibrator`类创建定制的震动效果,并结合密码验证的逻辑来模拟iOS的错误反馈。通过理解这些知识点,开发者可以更好地为Android应用添加类似iOS的交互体验,提升用户满意...

    android及时通讯源码:实时对讲机.rar

    此压缩包"android及时通讯源码:实时对讲机.rar"可能包含了一个完整的Android应用项目,用于展示如何在移动设备之间实现实时语音通信,类似于对讲机的效果。 首先,实时对讲机的核心是语音传输技术。这通常使用UDP...

    Android 图片点击震动效果源码.zip源码资源下载

    在Android开发中,实现图片点击震动效果是一种常见的交互设计,它可以增强用户操作的反馈感,提升用户体验。这个源码资源提供了实现这一功能的具体代码,主要涉及Android的Java编程语言和可能用到的Apache相关库。 ...

    安卓Android源码——图片点击震动效果源码.zip

    总的来说,这份源码着重展示了如何在Android应用中实现在图片被点击时触发震动效果,这对于开发具有丰富交互体验的应用来说是非常实用的。通过学习和理解这份源码,开发者可以了解到如何利用Android系统的API来增强...

    Android 图片点击震动效果源码.zip

    在Android开发中,为用户提供反馈是非常重要的,其中一种常见的反馈方式是通过添加点击震动效果来增强用户的交互体验。本文将详细解析"Android 图片点击震动效果源码.zip"中的实现方式,帮助开发者理解和运用此类...

    Android 图片点击震动效果源码.rar

    Android 图片点击震动效果源码.rar

    android应用源码手机震动.zip源码资源下载

    这个“android应用源码手机震动.zip”压缩包包含了一个Android应用的源代码,专门用于演示如何实现手机震动效果。这个应用可能是为了教学目的或者作为一个基础模板,帮助开发者了解和学习Android系统的硬件交互。 ...

Global site tag (gtag.js) - Google Analytics