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软件编程有所帮助。