为什么我的组件不会出现在Codename One中的HTML页面或媒体播放器之上

时间:2015-11-26 06:01:37

标签: codenameone

我使用过媒体播放器,我尝试使用进度指示或按钮进行渲染,但代码不起作用。

E.g:

findInfiniteProgress().setVisible(true);
  Timer timer = new Timer();
  TimerTask timerTask = new TimerTask() {
        @Override
        public void run() {
            Display.getInstance().callSerially(new Runnable() {
               @Override
                public void run() {
                    if(findMediaPlayer().getMedia() != null && findMediaPlayer().getMedia().isPlaying()){
                    findInfiniteProgress(f).setVisible(false);
                    }else{
                    findInfiniteProgress(f).setVisible(true);
                    }
                }
            });
        }
    };

1 个答案:

答案 0 :(得分:0)

Codename One使用轻量级渲染,这意味着所有组件都在一个线程上按顺序绘制。原生小部件(对等体)需要在本机线程上绘制并始终绘制在顶部,这是解释Codname Ones可移植性的秘密here

Codename One中的常见同行包括:Web浏览器,媒体播放和播放器。原生地图。

解决方法是使用Dialog,它实际上是一个单独的Form,因此当前的对等方不会在下面真正呈现。