Android界面刷新实现

2014-11-24 11:28:00 ? 作者: ? 浏览: 1

Android程序中可以使用的界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。


Android利用Handler刷新界面


实例化一个Handler对象,并重写handleMessage方法调用invalidate()实现界面刷新;而在线程中通过sendMessage发送界面更新消息。



// 在onCreate()中开启线程


new Thread(new GameThread()).start();、



// 实例化一个handler


Handler myHandler = new Handler()


{


//接收到消息后处理


public void handleMessage(Message msg)


{


switch (msg.what)


{


case Activity01.REFRESH:


mGameView.invalidate(); //刷新界面


break;


}


super.handleMessage(msg);


}


};



class GameThread implements Runnable


{


public void run()


{


while (!Thread.currentThread().isInterrupted())


{


Message message = new Message();


message.what = Activity01.REFRESH;


//发送消息


Activity01.this.myHandler.sendMessage(message);


try


{


Thread.sleep(100);


}


catch (InterruptedException e)


{


Thread.currentThread().interrupt();


}


}


}


}


使用postInvalidate()刷新界面
使用postInvalidate则比较简单,不需要handler,直接在线程中调用postInvalidate即可。


class GameThread implements Runnable


{


public void run()


{


while (!Thread.currentThread().isInterrupted())


{


try


{


Thread.sleep(100);


}


catch (InterruptedException e)


{


Thread.currentThread().interrupt();


}


//使用postInvalidate可以直接在线程中更新界面


mGameView.postInvalidate();


}


}


}



参考:


Android应用开发揭秘


Android文档


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: