解决android线程(thread)中页面跳转动画无效

2023-05-16

android中如果要在线程中实现页面跳转,其动画效果overridePendingTransition会失效。而我们有时候(比如启动页面)又必须用到,所以

参考网上方法,利用Thread结合Handler方式最终得到解决,代码如下:

参考网页:1.http://blog.csdn.net/woshicaixianfeng/article/details/6826263

    2.http://www.2cto.com/kf/201305/215230.html


import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;

@SuppressLint("HandlerLeak")
public class SplashActivity extends Activity {
	private Thread msThread;
	private static final int JUMP_TO_MAIN = 1000;
	private Handler mHandler;
	private final SplashActivity splash = this;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_splash);
		overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
		initData();
		msThread.start();
	}
	private void initData() {
		// TODO Auto-generated method stub

		mHandler = new Handler(){ 
			@Override 
	        public void handleMessage(Message msg) { 
	            // TODO Auto-generated method stub  
	            super.handleMessage(msg); 
	            if(msg.what == JUMP_TO_MAIN){
					Intent intent;
					intent = new Intent(splash, MainFragmentActivity.class);
					startActivity(intent);
					overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
					finish();
	            }
	        } 
	         
	    };
		msThread = new Thread() {
			@Override
			public void run() {
				try {
					synchronized (this) {
						wait(3000);
					}
				} catch (InterruptedException ex) {
					ex.printStackTrace();
				}
				Message msg = new Message(); 
                msg.what = JUMP_TO_MAIN; 
                mHandler.sendMessage(msg); 
			}
		};
	}
	
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决android线程(thread)中页面跳转动画无效 的相关文章

  • 我可以排除将资源值内置到我的 Android 子项目中吗?

    我有几个链接到基本 Android 项目的子 Android 项目 基础项目包括各种语言目录 values xx 有没有办法专门排除这些目录构建到子项目中 即没有 values de 德语字符串 的子项目 我仍在寻找最佳解决方案 目前 我将
  • Android 如何在多个动画上添加一些延迟?

    我想要的是下面的代码中的每个动画都以延迟开始 就像一个序列一样 所以我有这个代码 public void setAnimation View view String animation prefs getString animations
  • 将文件复制到资产文件夹

    经过 1 小时的搜索 我没有找到任何解决我的问题的方法 我想将文件从SD卡移动到资产文件夹 并覆盖资产文件夹中的现有文件 两个文件都是sqlite数据库 名称相同 数据略有不同 实际上 android apk 文件的行为是只读的 因此该 a
  • PublishResult 内的 ConcurrentModificationException - ArrayAdapter

    我继承的一些源代码有时会在这一行抛出 ConcurrentModificationException for String c filteredList body Override protected void publishResults
  • android:Textview 在运行时设置样式[重复]

    这个问题在这里已经有答案了 可能的重复 android 在运行时设置textView样式 https stackoverflow com questions 3237752 android set textview style at run
  • Clang PCH 性能比标头差?

    我在源文件中包含一组标头 这些标头很少 从未更改 解析 重新解析使用标头的频繁更改的源文件 IDE 用例 需要太长时间 几秒钟 作为提高性能的一种方式 我想使用 Clang PCH 请注意 我正在 Android 上以发布模式 99 确定
  • System.LoadLibrary(libname) 在 Javacv 代码中的 Nvidia Tegra 2 芯片组 (Android Samsung Tab) 上崩溃

    我在 Android 中使用了一个自定义相机Javacv代码 https code google com p javacv 我没有包含所有 so 文件 而仅包含我的应用程序似乎需要的那些文件 如下面的屏幕截图所示 它在三星 Galaxy S
  • Android SDK Lint 工具忽略 NewAPI 警告

    我正在从 Eclipse Android SDK 运行 Lint 工具 我的设置是默认设置 并且 NewApi 在我的 Android Lint 设置中设置为错误 然而 当我运行 Lint 时 通过Package Explorer gt A
  • Google Play Console - 管理第一个应用程序发布的发布

    根据通过托管发布控制何时发布应用程序更改 https support google com googleplay android developer answer 9859654 hl enPlay 管理中心帮助中的页面 托管发布仅适用于更
  • 以编程方式切换进度条的颜色

    所以我有一个图层列表 其中包含一个具有形状和纯色的项目 现在我想在我的代码中更改这种颜色
  • 如何对文本文件执行二分搜索

    我有一个大文本文件 5Mb 我在 Android 应用程序中使用它 我将文件创建为预先排序的字符串列表 并且文件一旦创建就不会更改 如何对此文件的内容执行二分搜索 而不需要逐行读取来查找匹配的字符串 由于文件的内容不会改变 因此您可以将文件
  • 使用device_filter.xml资源文件过滤USB枚举结果

    按照中的说明进行操作Android USB 主机文档 http developer android com guide topics connectivity usb host html discovering d 我设法通过USB DEV
  • 如果没有连接 USB 电缆,ADB over TCP/IP 无法工作

    我可以使用 USB 电缆通过 ADB 连接到我的智能手机 我还可以通过 tcp ip 连接到同一智能手机 adb connect 192 168 1 110 同时 USB 电缆仍处于连接状态 但是 一旦我断开电缆 我就会松开 tcp ip
  • 待定意图的多个实例

    我创建了一个小部件 单击该小部件会激活 PendingIntent 问题是 当我屏幕上有多个小部件时 只有最新的小部件才会启动 PendingIntent 我读过一些关于独特请求代码的内容 但没有弄清楚这一点 有什么想法可以让多个小部件和
  • 在android 2.3.6中如何通过联系人提供程序获取联系人照片?

    我有这个适用于 android 4 的版本 String email是 Gmail 地址 private Uri getPhotoUriFromEmail String email Uri u null String projection
  • 单击按钮通知时关闭状态栏

    单击通知按钮后如何关闭状态栏 I tried this https stackoverflow com a 15571784 1735077 但我有一个例外 java lang NoSuchMethodException collapse
  • java.io.IOException:服务发现失败

    我正在开发一个 Android 应用程序 在两部配对的智能手机之间使用蓝牙连接 蓝牙逻辑基于著名的BluetoothChat SDK示例 管理服务器线程的 服务 类accept 一个客户端线程connect 和一个用于在套接字上读 写的线程
  • 关于ListView中ViewHolder模式实现优化

    因此 众所周知的 ViewHolder 模式通常看起来像 ListAdapter Override public View getView final int position View convertView final ViewGrou
  • Android 6.0 中的打瞌睡和应用程序待机模式

    Google 在 Android 6 0 操作系统中引入了 Doze 和应用程序待机模式 设备将进入Doze如果设备被拔掉并且在一段时间内未使用并且应用程序在一段时间内保持不活动状态 则该应用程序将进入模式StandBy模式 如果我错了请纠
  • Android Fragment 后台事务

    我正在开发一个带有片段的应用程序 它有一个 JavaScript 接口 在主 Activity 中调用 并具有片段替换逻辑 当应用程序位于前台时 一切正常 但当应用程序位于后台时 片段事务替换不起作用 当我返回应用程序时 我仍然看到旧片段

随机推荐