cocos嵌入安卓工程

news/2024/11/6 20:28:44/文章来源:https://www.cnblogs.com/yanyulanshan/p/18530953

cocos打包安卓原生工程时、由于各种各样的特殊原因,需要把cocos嵌入到安卓原生工程中。但是会出现各种兼容性问题。

可以利用android的activity来妥善处理(兼容android和androidx工程!!!)

ActivityViewHelper.java 文件 封装好的工具类

import android.app.LocalActivityManager;import android.content.Intent;import android.view.View;import android.view.ViewGroup;import android.widget.FrameLayout;import androidx.appcompat.app.AppCompatActivity;public class ActivityViewHelper {/*** 启动指定Activity并将其DecorView添加到给定的ViewGroup中* @param activity 当前的AppCompatActivity* @param container 用来显示目标Activity视图的容器* @param targetActivity 目标Activity类*/public static void addActivityToView(AppCompatActivity activity, ViewGroup container, Class<?> targetActivity) {LocalActivityManager mgr = new LocalActivityManager(activity, false);mgr.dispatchCreate(activity.getIntent());Intent intent = new Intent(activity, targetActivity);View decorView = mgr.startActivity("gm", intent).getDecorView();container.removeAllViews();container.addView(decorView);}}

使用:

import android.os.Bundle;import android.widget.FrameLayout;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 获取容器视图(假设这是一个FrameLayout)FrameLayout container = findViewById(R.id.container);// 使用封装的Helper方法将目标Activity的DecorView添加到容器中ActivityViewHelper.addActivityToView(this, container, AppActivity.class);}}

AppActivity.class是cocos工程的类名称

后记:由于题主的目的是支持androidx,所以也可以对cocos引擎部分做一些修改、使其兼容androidx。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827836.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

别再被多线程搞晕了!一篇文章轻松搞懂 Linux 多线程同步!

别再被多线程搞晕了!一篇文章轻松搞懂 Linux 多线程同步!前言 大家有没有遇到过,代码跑着跑着,线程突然抢资源抢疯了?其实,这都是“多线程同步”在作怪。多线程同步是个老生常谈的话题,可每次真正要处理时还是让人头疼。这篇文章,带你从头到尾掌握 Linux 的多线程同步,…

『模拟赛』NOIP2024加赛2

『模拟赛记录』NOIP2024加赛2Rank 一直烂,什么时候触底反弹(A. 新的阶乘 赛时觉得线筛一遍同时统计每个质数的指数就做完了,然后本机怎么跑不进 1s,卡常卡了半个小时,最后没 T,但是 vector 炸了,70pts。 可以换思路考虑,赛时一直没转换过来。对于每个质数枚举其倍数统计…

矩阵求导 d(A*X)/dX

矩阵求导 d(A*X)/dX简单矩阵求导 $\frac{ \part (A \times X) }{ \part X }=A$。证明如下,自行体会。 感谢 https://www.cnblogs.com/sunny99/ sumoier对本文的帮助

学习笔记(二十六):资源分类与访问(Resources)

概述: 应用开发中使用的各类资源文件,需要放入特定子目录中存储管理。 资源目录的示例如下所示, base目录、限定词目录、rawfile目录、resfile目录称为资源目录;element、media、profile称为资源组目录。resources |---base | |---element | | |---string.json | |…

java微服务的异常

1.依赖异常须知: 【 如果项目的结构是单个模块的,需要给每个单个模块添加起步依赖 spring-boot-starter-parent,指定版本 】 【 如果项目的结构是子父模块的,只需要给父模块添加起步依赖 spring-boot-starter-parent,指定版本,所有子模块引入父模块就行 】配置文件你指定…

C# WebSocket的简单使用【使用Fleck实现】

有bug,不推荐使用 有bug,不推荐使用 有bug,不推荐使用2.WebSocketHelper 新建 WebSocketHelper.csusing Fleck;namespace WebSocket {internal class WebSocketHelper{//客户端url以及其对应的Socket对象字典IDictionary<string, IWebSocketConnection> dic_Sockets =…

第三十五讲:为什么临时表可以重名?

创建临时表,一部分为了优化查询,join在临时表里查询出结果后导入到正常表中,他也支持多session的查询优化,更重要一点是在session会话关闭后,临时表会自动销毁。嗯就这样 另外分清他和内存表的区别 内存表一定是从memory引擎创建的,临时表可以由memory引擎创建第三十五讲…

如何理解shell命令 cd $(dirname $0)

如何理解shell命令 cd $(dirname $0)-CSDN博客

对C++程序使用输入输出重定向

一般来说,在Visual Studio使用文件重定向有三种方法: 方法一:通过命令行参数实现 项目→属性→配置属性→调试→命令参数然后就在这里加上你的命令行参数 比如我有这样一段程序: #include <iostream> #include <fstream> #include "Sales_item.h"int…

红米k70怎么设置「短信通知」在锁屏时隐藏内容,不锁屏时不隐藏内容

红米 K70 设置短信通知在锁屏时隐藏内容、不锁屏时不隐藏内容,可以按照以下步骤进行操作:打开手机设置:在主屏幕上找到并点击 “设置” 图标,进入手机设置页面。 进入通知与控制中心:在设置页面中,找到并点击 “通知与控制中心” 选项。 选择锁屏通知:在通知与控制中心页…

c语言中声明数组时, 元素个数必须使用常量表达式

001、[root@PC1 test]# ls test.c [root@PC1 test]# cat test.c ## 测试程序 #include <stdio.h>int main(void) {int var1 = 5; // 初始化一个变量var1int array1[var1] = {3,5,8,4,9}; // 初始化数组return 0; } [root@PC1 test]# gcc test.c …

图的基本操作

目录1.图2.图的结构体定义3.图的初始化4.添加顶点、删除顶点4.1添加顶点4.2删除顶点5.添加边、删除边5.1添加边5.2删除边6.打印图7.main函数 在生命旅途中,我们就像是一个个节点,被无数看不见的边相连。每一次的相识与相离,都在这张巨大的网络图中留下独特的印记。 1.图 图(…