一个思路,cocos2dx调用原生安卓界面,可解决cocos坑人的listview
来源:互联网 发布:淘宝店招页头尺寸 编辑:程序博客网 时间:2024/05/29 18:00
工程中总能遇到产品提出的各种各样的需求
比如我现在做的这个项目,一个cocos2dx-3.9的工程,做的却不是一个游戏,要完成很多业务。
比如要加许多的listview,而cocos的listview性能很差,想完成产品需求,就要自己重写一套组件,不是说不可以,但是费时费力,而且性能总没有原生控件流畅
这个时候就会想起如果能在场景中调用原生界面
我想了一下,大概有一个办法可以解决这个问题
cocos2dx的界面,有两种坐标尺
第一种,xx像素,但是屏幕的总像素是固定的。第二种,百分比容器。
两种方式殊途同归,显示效果 都是对于屏幕的百分比。而整个cocos的所有场景,在安卓中都是加载于一个activity中。
那么,就可以在cocos场景代码中,利用jni调取java方法,在activity中加入fragment,覆盖在界面上实现效果;
FragmentManager fragmentManager = activity.getFragmentManager();FragmentTransaction fragmentTransaction = fragmentManager .beginTransaction();WindowManager wm = activity.getWindowManager();CocosFragment fragment1 = CocosFragment.newInstance(getDEVICE_ID(activity) , "");fragmentTransaction.replace(android.R.id.content, fragment1);fragmentTransaction.addToBackStack(null);fragmentTransaction.commit();
fragment的背景透明,去除点击,用下面这类百分比设置界面的宽高;
DisplayMetrics displayMetrics = new DisplayMetrics();windowsmanager.getDefaultDisplay().getMetrics(displayMetrics);
LinearLayout.LayoutParams line= (android.widget.LinearLayout.LayoutParams) rela.getLayoutParams();line.width = (int)(displayMetrics.widthPixels*0.48);wi = line.width; //布局宽line.height = (int)(wi/1261*1250);hi = line.height;//布局高
用下面这类方法设置百分比的布局效果,包括距离上下左右等
starlin = (LinearLayout) contentView.findViewById(R.id.starlin);RelativeLayout.LayoutParams starlinline= (android.widget.RelativeLayout.LayoutParams) starlin.getLayoutParams();starlinline.height = (int)(wi/241.5*29);starlinline.setMargins((int)(wi/241.5*35),(int)(wi/241.5*75),(int)(wi/241.5*35),(int)(wi/241.5*0));starlin.setLayoutParams(starlinline);
亲测可用,显示效果良好,基本上接近于无缝对接
1 0
- 一个思路,cocos2dx调用原生安卓界面,可解决cocos坑人的listview
- 你需要一个原生的安卓
- 安卓入门:加深ListView学习,做一个简单的聊天界面
- 安卓界面的实际解决
- React Native之调用安卓的原生控件recyclerview
- cocos 3.10 new 一个 listview 不能直接调用jumpToBottom
- ExpandableListView安卓开发可扩展的listview
- 【Android】安卓学习笔记之定制ListView 的界面
- Cocos2dx:使用Cocos Studio创建一个简单的工程
- 安卓滑动冲突的理解和一些解决思路
- 安卓界面方法调用
- 安卓使用原生登录替代网页登录思路
- cocos2dx - 安卓蓝牙游戏(c++调用)
- listview的一个聊天界面
- listview重载问题的解决思路
- cocos移植安卓的方法
- 安卓自定义一个ListView
- 笔记:做一个MFC串口界面遇到的一些问题和解决思路
- 第5章 脚本控制------------------------(nice与renice命令、进程优先级控制)
- android中src和background区别
- 微信小程序——View背景设置
- 第一节,ECMAScript的介绍
- 单点登录原理和简单实现
- 一个思路,cocos2dx调用原生安卓界面,可解决cocos坑人的listview
- LBP(二)
- 关于支付宝需要注意的几个问题。
- mjpg-streamer使用介绍
- iOS隐藏导航栏底部的线条& UINavigationBar小技巧
- HDMI之HDCP
- eclipse 导入git项目
- 如何快速增加网站流量及提高网站可信度
- document.body.clientHeight 和 document.documentElement.clientHeight的区别