Android实现手机震动效果
本文实例介绍了Android实现手机震动、抖动效果,分享给大家供大家参考,具体内容如下
(1)布局文件如下
<RelativeLayoutxmlns: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
packagecom.example.test11;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.os.Vibrator;
importandroid.text.TextUtils;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.view.animation.Animation;
importandroid.view.animation.AnimationUtils;
importandroid.widget.Button;
importandroid.widget.EditText;
importandroid.widget.Toast;
publicclassMainActivityextendsActivity{
privateEditTextet_text;
privateButtonbtn_submit;
/**
*手机振动器
*/
privateVibratorvibrator;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
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(newOnClickListener(){
Stringtext=et_text.getText().toString().trim();
publicvoidonClick(Viewv){
if(TextUtils.isEmpty(text)){
Toast.makeText(MainActivity.this,"内容为空",0).show();
Animationshake=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
<?xmlversion="1.0"encoding="utf-8"?> <cycleInterpolatorxmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7"/>
shake.xml
<?xmlversion="1.0"encoding="utf-8"?> <translatexmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromXDelta="0" android:interpolator="@anim/cycle_7" android:toXDelta="10"/>
(4)需要使用的权限:
<uses-permissionandroid:name="android.permission.VIBRATE"/>
希望本文所述对大家学习Android软件编程有所帮助。