当前位置: 移动技术网 > IT编程>移动开发>Android > Android实现手机震动效果

Android实现手机震动效果

2019年07月24日  | 移动技术网IT编程  | 我要评论

ca1255,3个月的宝宝,针刺健德堂

本文实例介绍了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软件编程有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网