为啥对象会出现在 AIR Android 上的不同位置?

Posted

技术标签:

【中文标题】为啥对象会出现在 AIR Android 上的不同位置?【英文标题】:Why are objects appearing at different places on AIR Android?为什么对象会出现在 AIR Android 上的不同位置? 【发布时间】:2016-05-20 07:57:57 【问题描述】:

我面临的问题已经开始让我非常沮丧。任何能帮我解决它的人,对我来说都是圣人。

我已经在一个 AIR android 应用程序上工作了大约 8 个月。我已经编写了大约 15k 行代码,分布在 60 个类中。当我在 Windows 上测试它时,一切都运行良好,但是当我在我的设备(三星 Galaxy S4)上安装应用程序时,有些东西不能正常工作。有些物体出现在不同的地方,而有些则根本不出现。还有其他奇怪的东西。当我将渲染模式设置为 GPU 时,事情变得更加疯狂。我的意思是我真的看不到太多的应用程序。

为了让您了解这个问题,我决定在 PC 和设备上制作我的应用视频,并使用 gpu 和 cpu 渲染。

在 Windows 上:https://www.youtube.com/watch?v=Ncknm-_7BN8

如您所见,这里一切正常。

在安卓(CPU)上:https://www.youtube.com/watch?v=4VFPg3vxSOw

第一个问题

在“今天”屏幕中,当我点击“+”按钮时。弹出窗口没有出现在它应该出现的位置。虽然有些代码可以工作,但有些不能。例如,颜色没有变化。这是使弹出窗口出现的 show() 函数。

public function show():void

  homeCurrency = sett.xmlDB.HomeCurrency.@name;
  this.visible = true;
  TweenMax.to(this, .4,  alpha:1 );

  if(AirNetworkInfo.networkInfo.isConnected())
  
    if (homeCurrency != getCurrentCurrency())
    
        curr_txt.text = "Entered value will be converted from " +   getCurrentCurrency() + " to " + homeCurrency;
    
    else 

        curr_txt.text = "";
    

else

    curr_txt.text = "";


changeColors();

应该很好的函数changeColors(),改变颜色不起作用。下面是 changeColors() 的外观:

private function changeColors():void
    
        for (var i:int = 0; i < allObjects.length; i++)
        
            TweenMax.to(allObjects[i], .2, tint:_main.settings.xmlDB.Theme.@name );
        

        curr_txt.textColor = _main.settings.xmlDB.Theme.@name;
    

问题 2 No Connection 弹出窗口根本不出现。动画正在运行,但没有弹出窗口。

问题 3 第二个问题出现在“管理贷款屏幕”中。这,我不知道这里发生了什么。希望有人能给我解释一下。

问题 4 在“设置”中,当我点击国家按钮选择一个国家时。什么都没发生。该列表应该会显示,但没有任何反应。

在安卓 (GPU) 上:https://www.youtube.com/watch?v=FcbdTgfT6GM

嗯,你看到了这里发生的事情。谁能解释一下?帮我?我真的很感激。

【问题讨论】:

【参考方案1】:

您是否尝试过在移动设备上进行远程调试?将您的应用程序连接到 PC 中的 flash/air 调试器。我在手机上,所以我没有看过视频,但是各种滤镜(包括您似乎正在使用的模糊器和颜色滤镜)在 gpu 模式下不起作用——尽管它们在直接模式下工作)。我不建议在 gpu 模式下使用任何过滤器,即使包装在 TweenMax 中。阿尔法没问题。

【讨论】:

【参考方案2】:

问题 1 。您是否正在将 XML 设置加载到您的应用程序中?如果是这样,可能是 XML 没有打包成功。

对于其他问题,您在 Android 上进行测试时是否使用了调试模式以查看输出日志中的任何错误?

【讨论】:

以上是关于为啥对象会出现在 AIR Android 上的不同位置?的主要内容,如果未能解决你的问题,请参考以下文章

mac air无法开机,显示“电脑因出现问题而重新启动。”

Android 上的 MIDI:Java 和/或 AIR 库

为啥 Android Studio 预览版中的 Activity 外观与设备上的不同?

Adobe Air for Android 上的单选按钮和单选按钮组?

Android 为啥使用Handler

为啥 useEffect() 不更新新消息上的消息对象?