WEB开发网
开发学院手机开发Android 开发 android 中监听按键的长按事件 阅读

android 中监听按键的长按事件

 2012-12-20 19:43:43 来源:WEB开发网   
核心提示:collapseCameraControls();//fulin@20121101@fix PD1218 B121027-224onShutterButtonClick();}}}if (mCameraAppView.getVisibility() != View.VISIBLE) {return false;}ret
collapseCameraControls();//fulin@20121101@fix PD1218 B121027-224
onShutterButtonClick();
}
}
}

if (mCameraAppView.getVisibility() != View.VISIBLE) {
return false;
}
return true;
}

return super.onKeyUp(keyCode, event);
}

互斥处理的原因是,长按事件处理完后,松开按键后就会执行 onKeyUp 函数。而这两处针对相同的按键想要实现的功能又不一样
固在此添加一个 private boolean lockLongPressKey = false; 变量,在 onKeyLongPress 函数中处理过以后,在 onKeyUp中便不再处理。

2, button
自定义的 button 长按事件则是通过实现 OnLongClickListener 接口来做到的。

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MyActivity extends Activity implements OnLongClickListener{
 Button button;//声明按钮的引用 
    public void onCreate(Bundle savedInstanceState) {//重写的onCreate方法
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        button = (Button) this.findViewById(R.id.button);//得到按钮的引用
        button.setTextSize(20);
        button.setOnLongClickListener(this);//注册监听
    }
 public boolean onLongClick(View v) {//实现接口中的方法
  if(v == button){//当按下的是按钮时
   Toast.makeText(
     this, 
     "长时间按下了按钮", 
     Toast.LENGTH_SHORT
     ).show();//显示提示
  }
  return false;
 }
}

上一页  1 2 

Tags:android 监听 按键

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接