Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codenameone 无限进步隐藏完整的android屏幕_Codenameone - Fatal编程技术网

Codenameone 无限进步隐藏完整的android屏幕

Codenameone 无限进步隐藏完整的android屏幕,codenameone,Codenameone,在带有浏览器组件的Android上,无限进度隐藏完整性屏幕,看不到内容,而在IOS上则可以正常工作 如果表单没有浏览器组件,在Android和IOS中运行良好,屏幕变暗,但我们可以看到内容 我附加了一个示例代码(仅限于start方法) InfiniteProgress创建一个对话框,该对话框显示在中间,但有效地阻止了周围的输入BrowserComponent不能很好地处理对话框,因为对话框的背景需要“绘制”,并且不是真正的底层表单 通常,解决方法是使用交互对话框。您还可以使用LayeredPan

在带有浏览器组件的Android上,无限进度隐藏完整性屏幕,看不到内容,而在IOS上则可以正常工作

如果表单没有浏览器组件,在Android和IOS中运行良好,屏幕变暗,但我们可以看到内容

我附加了一个示例代码(仅限于start方法)


InfiniteProgress
创建一个
对话框
,该对话框显示在中间,但有效地阻止了周围的输入
BrowserComponent
不能很好地处理对话框,因为对话框的背景需要“绘制”,并且不是真正的底层
表单

通常,解决方法是使用
交互对话框
。您还可以使用
LayeredPane
来放置
InfiniteProgress
,甚至对其进行适当的着色,使其“外观”相同。但复制阻塞行为更难。我不确定您是否能够做到这一点,因为本机小部件处理自己的事件。阻止来自Codename One组件的输入非常容易,但是当您获得事件时,它可能已经被本机小部件处理过了


我能想到的解决这方面问题的唯一办法就是用JavaScript完成这一部分。

InfiniteProgress
创建了一个
对话框,该对话框显示在中间,但有效地阻止了周围的输入
BrowserComponent
不能很好地处理对话框,因为对话框的背景需要“绘制”,并且不是真正的底层
表单

通常,解决方法是使用
交互对话框
。您还可以使用
LayeredPane
来放置
InfiniteProgress
,甚至对其进行适当的着色,使其“外观”相同。但复制阻塞行为更难。我不确定您是否能够做到这一点,因为本机小部件处理自己的事件。阻止来自Codename One组件的输入非常容易,但是当您获得事件时,它可能已经被本机小部件处理过了

我能想到的解决这方面问题的唯一办法就是用JavaScript来完成这一部分

    public void start() {
    if(current != null){
        current.show();
        return;
    }

    Form hi2 = new Form("No browser Form", BoxLayout.y());

    hi2.add(new Button(new Command("Show Infinite Progress") {
         @Override
         public void actionPerformed(ActionEvent evt) {
             try {
               Dialog ip = new InfiniteProgress().showInfiniteBlocking();
                    new Thread(new Runnable() {
                    @Override
                    public void run() {
                            try {
                                Thread.sleep(2000);
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                       ip.dispose();
                    }
                }).start();

             } catch (Exception ex) {
                 ex.printStackTrace();
             }
      }
     }));   
    
    hi2.add(new Label("No browser Form"));
    hi2.add(new Button(new Command("show browser Form") {
        @Override
        public void actionPerformed(ActionEvent evt) {
            try {
                Form hi = new Form("browser Form");
                hi.setLayout(new BorderLayout());
                
                BrowserComponent browserComponent = new BrowserComponent();
                browserComponent.setURL("https://www.codenameone.com/");

                hi.add(BorderLayout.CENTER, browserComponent);

            
                hi.add(BorderLayout.SOUTH, new Button(new Command("Show Infinite Progress") {
                     @Override
                       public void actionPerformed(ActionEvent evt) {
                           try {
                               Dialog ip = new InfiniteProgress().showInfiniteBlocking();
                                new Thread(new Runnable() {
                                    @Override
                                    public void run() {
                                        try {
                                            Thread.sleep(2000);
                                        } catch (InterruptedException e) {
                                            e.printStackTrace();
                                        }
                                       ip.dispose();
                                    }
                                }).start();
 
                           } catch (Exception ex) {
                               ex.printStackTrace();
                           }
                    }
                   }));

            
                hi.show();
            } catch (Exception ex) {
                Dialog.show("Error", ex.getMessage(), "OK", null);
                ex.printStackTrace();
            }
        }
    }));
    hi2.show();
}