现在的位置: 首页 > 综合 > 正文

快速开发09之归属地查询——系统提供的抖动 振动服务

2017年05月17日 ⁄ 综合 ⁄ 共 1387字 ⁄ 字号 评论关闭

还记得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次


抱歉!评论已关闭.