快速开发09之归属地查询——系统提供的抖动振动服务
还记得textview的抖动震动效果么,真的很赞,相信这个知识点能帮助到你们很多 。
第一步 加权限
<uses-permission android:name="android.permission.VIBRATE"/>
第二步,设置一个button按钮点击事件 numberAddressQuery
开始贴代码
private Vibrator vibrator; //振动 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_number_addres_query); vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);//得到震动的服务 } public void numberAddressQuery(View view){ String phone = ed_phone.getText().toString().trim(); if(TextUtils.isEmpty(phone)){ Toast.makeText(this, "号码为空", 0).show();
<span style="white-space:pre"> </span><span style="color:#ff0000;">//抖动的效果,关键就在于shake布局文件里</span> Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake); ed_phone.startAnimation(shake); //当电话号码为空的时候,就去振动手机提醒用户 // vibrator.vibrate(2000);//抖动2秒 long[] pattern = {200,200,300,300,1000,2000}; //-1不重复 0循环振动 1; vibrator.vibrate(pattern, -1); return; }else{ String address = NumberAddressQueryUtils.queryNumber(phone); result.setText(address);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" />
仔细看看 其中还有插入式的interpolator
cycle_7.xml
<?xml version="1.0" encoding="utf-8"?> <cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7" />android:cycles="7" 是指 抖动7次