本文实例介绍了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软件编程有所帮助。
本文地址:https://www.stayed.cn/item/6303
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我