您的位置:首页 > 移动开发 > Android开发

android Handler与Message类,实现n秒后无操作自动消失功能。

2010-10-23 14:22 561 查看
实现功能:某控件不操作10秒后,自动消失。如照相机变焦条出现后,无操作10秒自动隐藏。

所用知识:handler message

//定义变量

private EffectInVisiableHandler mtimeHandler;

private final int MOBILE_QUERY = 1;

//程序启动时,初始化并发送消息

mtimeHandler = new EffectInVisiableHandler();

Message msg = mtimeHandler.obtainMessage(MOBILE_QUERY);

mtimeHandler.sendMessageDelayed(msg, 10000);

//在某控件的onclick或ontouch事件中,重置message,即从新计时开始。

View.OnTouchListener touchCenterLayoutListener=new View.OnTouchListener() {

public boolean onTouch(View v, MotionEvent event) {

switch(event.getAction())

{

case MotionEvent.ACTION_DOWN:

resetTime();

break;

case MotionEvent.ACTION_UP:

break;

}

return true;

}

};

private class EffectInVisiableHandler extends Handler

{

@Override

public void handleMessage(Message msg)

{

switch(msg.what)

{

case MOBILE_QUERY:

midLayoutInVisable(); //当10秒到达后,作相应的操作。

Log.i("","run**********************");

break;

}

}

}

public void resetTime() {

mtimeHandler.removeMessages(MOBILE_QUERY);

Message msg = mtimeHandler.obtainMessage(MOBILE_QUERY);

mtimeHandler.sendMessageDelayed(msg, 10000);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐