禁用的容器元素

移动开发 2026-07-08

我正在使用Netbeans和网页浏览器来显示一个Leaflet地图,并把它放在中部区域。在南部区域,我有一个名为cnSur的容器,里面有计数器和按钮,在模拟器中可以正常工作,但生成APK时,它们会显示为禁用状态。

起初,通过直接放置wBrowser而不放在容器中就能工作,但问题突然出现,我已经做了几轮测试:先用new LayeredLayout() 来创建cnMapa容器,然后再用new BorderLayout() 来添加wBrowser对象。在这些情况中都没有对我起作用。

在此处输入图片描述

        Container cnCalculos = new Container(new GridLayout(1, 3));
        cnCalculos.addComponent(cnCargo);
        cnCalculos.addComponent(cnTiempo);
        cnCalculos.addComponent(cnDistancia);

        Container cnAccion = new Container(new GridLayout(1, 3));
        cnAccion.addComponent(btZona);
        cnAccion.addComponent(btGaceta);
        cnAccion.addComponent(btConfig);

        Container cnNorte = new Container(new GridLayout(1, 2));
        cnNorte.addComponent(cnPasajeros);
        cnNorte.addComponent(btAccion);

        Container cnMapa = new Container(new LayeredLayout());
        cnMapa.add(wBrowser);

        Container cnSur = new Container(new GridLayout(1, 2));
        cnSur.addComponent(cnCalculos);
        cnSur.addComponent(cnAccion);

        .......................

        this.addComponent(BorderLayout.NORTH, cnNorte);
        this.addComponent(BorderLayout.CENTER, cnMapa);
        this.addComponent(BorderLayout.SOUTH, cnSur);

解决方案

它们并不是显示为禁用,而是被Android的按钮挡住了。这是Google在近期版本的Android中所做的一个变化:系统按钮悬浮在你的应用之上,而不是在你的应用之下。

请参阅 这个,你需要使用 setSafeArea(true) 来指示按钮应放置在用户实际可以触摸到的区域。这对于紧挨着手机屏幕边缘的每个元素都成立。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章