我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android界面刷新的方法分享

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android界面刷新的方法分享

Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。

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

利用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 自定义可拖拽View界面渲染刷新后不会自动回到起始位置Android 实现界面刷新的几种方法Android中刷新界面的二种方法Android 模仿iPhone列表数据View刷新动画详解android中ListView数据刷新时的同步方法Android控制界面刷新技巧汇总


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android界面刷新的方法分享

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android界面刷新的方法分享

Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 Android程序中可以使用的界
2022-06-06

Android中刷新界面的二种方法

Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 Android界面刷新方法有两种
2022-06-06

Android 实现界面刷新的几种方法

Android 界面刷新 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 An
2022-06-06

Android登录界面的实现代码分享

最近由于项目需要,宝宝好久没搞Android啦,又是因为项目需要,现在继续弄Android,哎,说多了都是泪呀,别的不用多说,先搞一个登录界面练练手,登录界面可以说是Android项目中最常用也是最基本的,如果这个都搞不定,那可以直接去跳2
2022-06-06

Android登陆刷新多个页面的方法是什么

要实现在Android中登录后刷新多个页面,可以使用以下方法之一:1. 使用广播(Broadcast):创建一个登录成功的广播,在登录成功后发送该广播。在各个需要刷新的页面中注册广播接收器,当接收到登录成功广播时,执行刷新操作。2. 使用事
2023-08-19

Angular刷新当前页面的方法

这篇文章主要介绍Angular刷新当前页面的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Angular刷新当前页面的几种方法默认,当收到导航到当前URL的请求,Angular路由器会忽略。

android dialog刷新的方法是什么

在Android中,Dialog可以通过以下方法来进行刷新:使用`invalidate()`方法:可以在Dialog的`View`上调用`invalidate()`方法来刷新视图。例如,如果你有一个自定义的`Dialog`类,可以在其`on
2023-10-27

android编程之下拉刷新实现方法分析

本文实例讲述了android编程之下拉刷新实现方法。分享给大家供大家参考,具体如下: 现在android应用里面下拉刷新比较多 ,今天自己研究一下相关的资料public class MyListView extends ListView i
2022-06-06

html刷新页面的方法有哪些

在HTML中,有几种方法可以刷新页面。以下是其中一些常见的方法:1. 使用JavaScript:使用`location.reload()`方法可以刷新当前页面。您可以将其放置在JavaScript函数中,并在需要时调用该函数。 ```h
2023-08-08

Android编程实现启动界面的方法分析

本文实例讲述了Android编程实现启动界面的方法。分享给大家供大家参考,具体如下: 最近在弄一个程序启动界面程序,在这里贴下代码。解释一下:后面Intent(qidong.this,"写想要跳转的Activity"); 效果图:然后建立一
2022-06-06

Android中ListView下拉刷新的实现方法实例分析

本文实例讲述了Android中ListView下拉刷新的实现方法。分享给大家供大家参考,具体如下:ListView中的下拉刷新是非常常见的,也是经常使用的,看到有很多同学想要,那我就整理一下,供大家参考。那我就不解释,直接上代码了。 这里需
2022-06-06

Vue3中进行页面局部刷新组件刷新的操作方法

这篇文章主要介绍了Vue3中进行页面局部刷新组件刷新的操作方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-12-20

Android中ListView下拉刷新的实现方法

ListView中的下拉刷新是非常常见的,也是经常使用的,看到有很多同学想要,那我就整理一下,供大家参考。那我就不解释,直接上代码了。这里需要自己重写一下ListView,重写代码如下:package net.loonggg.listvie
2022-06-06

android 引导界面的实现方法

代码如下:顺序是: OneAcitivity -->MainActivity -> TwoActivity 然后第2次进去就是:OneActivity -> TwoActi
2022-06-06

django+js+ajax实现刷新页面的方法

本文实例讲述了django+js+ajax实现刷新页面的方法。分享给大家供大家参考,具体如下: 在服务器开发的时候,为了方便将服务器对外开一个接口来操作,可以使用django制作网页,通过页面来操作服务器。这样可以将服务器的维护工作暴漏在更
2022-06-04

Android移除Message的方法分享

本篇文章主要介绍MessageQueue提供的各种移除Message的方法,大概有八九个,接下来会对其中比较典型的移除方法进行详细分析,需要的可以参考一下
2022-11-13

android中ListView数据刷新时的同步方法

本文实例讲述了android中ListView数据刷新时的同步方法。分享给大家供大家参考。具体实现方法如下:public class Main extends BaseActivity { private static final Stri
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录