欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现手机震动效果

程序员文章站 2024-02-22 09:23:34
本文实例介绍了android实现手机震动、抖动效果,分享给大家供大家参考,具体内容如下 (1)布局文件如下

本文实例介绍了android实现手机震动、抖动效果,分享给大家供大家参考,具体内容如下

(1)布局文件如下

<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"
 android:paddingbottom="@dimen/activity_vertical_margin"
 android:paddingleft="@dimen/activity_horizontal_margin"
 android:paddingright="@dimen/activity_horizontal_margin"
 android:paddingtop="@dimen/activity_vertical_margin"
 tools:context=".mainactivity" >

 <edittext
 android:id="@+id/et_text"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignparentleft="true"
 android:layout_alignparentright="true"
 android:layout_alignparenttop="true"
 android:layout_margintop="16dp"
 android:ems="10" >

 <requestfocus />
 </edittext>

 <button
 android:id="@+id/btn_submit"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignleft="@+id/et_text"
 android:layout_below="@+id/et_text"
 android:layout_margintop="38dp"
 android:text="提交" />

</relativelayout>

(2)mainactivity.java

package com.example.test11;

import android.app.activity;
import android.os.bundle;
import android.os.vibrator;
import android.text.textutils;
import android.view.view;
import android.view.view.onclicklistener;
import android.view.animation.animation;
import android.view.animation.animationutils;
import android.widget.button;
import android.widget.edittext;
import android.widget.toast;

public class mainactivity extends activity {

 private edittext et_text;
 private button btn_submit;
 /**
 * 手机振动器
 */
 private vibrator vibrator;

 @override
 protected void oncreate(bundle savedinstancestate) {
 super.oncreate(savedinstancestate);
 setcontentview(r.layout.activity_main);
 et_text = (edittext) this.findviewbyid(r.id.et_text);
 btn_submit = (button) this.findviewbyid(r.id.btn_submit);

 // 震动效果的系统服务
 vibrator = (vibrator) getsystemservice(vibrator_service);

 btn_submit.setonclicklistener(new onclicklistener() {
  string text = et_text.gettext().tostring().trim();

  public void onclick(view v) {
  if (textutils.isempty(text)) {
   toast.maketext(mainactivity.this, "内容为空", 0).show();
   animation shake = animationutils.loadanimation(
    mainactivity.this, r.anim.shake);
   et_text.startanimation(shake);

   /*
   * 震动的方式
   */
   // vibrator.vibrate(2000);//振动两秒

   // 下边是可以使震动有规律的震动 -1:表示不重复 0:循环的震动
   long[] pattern = { 200, 2000, 2000, 200, 200, 200 };
   vibrator.vibrate(pattern, -1);
  }
  }
 });
 }
}

(3)使用到的两个动画文件如下:
cycle_7.xml

<?xml version="1.0" encoding="utf-8"?>
<cycleinterpolator xmlns:android="http://schemas.android.com/apk/res/android"
 android:cycles="7" />

shake.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
 android:duration="1000"
 android:fromxdelta="0"
 android:interpolator="@anim/cycle_7"
 android:toxdelta="10" />

(4)需要使用的权限:

 <uses-permission android:name="android.permission.vibrate" />

希望本文所述对大家学习android软件编程有所帮助。