我使用 VisionX 创建 ERP 系统,并有一个带有表格和一些编辑器的工作屏幕(编辑页面)。该应用程序是一个html5应用程序。如果浏览器窗口足够大(全高清),一切都会显示完美。如果我调整浏览器窗口的大小并有一个小窗口(例如 < 1024px), the workscreen doesn't look nice becaue I have too many editors in the workscreen.
我尝试处理浏览器窗口大小,更改工作屏幕的布局和可见组件,例如隐藏某些列或在每个订单下而不是旁边显示编辑器。
我知道这是可能的并且受支持,但不知道如何直接在 VisionX 中使用它。我也没有在文档中找到信息。
我想如果没有直接在 IDE (Eclipse) 中使用该工具也是可能的,但我不知道如何处理浏览器大小的变化。一个例子会对我有帮助,因为我尝试注册事件,比如
launcher.eventComponentResized.addListener(new IRunnable()
{
@Override
public void run() throws Throwable
{
//change UI
}
});
但它并没有达到我预期的效果。
支持但不可视。您需要几行 Java 代码。
只需打开工作屏幕的代码(文件夹:
rad/apps/appname/src.client/.../screens/...
)
每个屏幕都有方法
onResponsiveModeChanged
,可用于处理响应模式。只需覆盖该方法并配置您的屏幕即可。
一个例子:
@Override
public void onResponsiveModeChanged(LayoutMode pOld, LayoutMode pNew) throws Throwable
{
super.onResponsiveModeChanged(pOld, pNew);
ColumnView colview = rdbUsers.getRowDefinition().getColumnView(ITableControl.class);
if (pNew != null)
{
switch (pNew)
{
case Mini:
colview.setColumnNames(new String[] {"USERNAME", "ACTIVE"});
break;
case Small:
colview.setColumnNames(new String[] {"USERNAME", "ACTIVE", "EMAIL"});
break;
default:
colview.setColumnNames(new String[] {"USERNAME"});
}
}
}
上面的代码显示了默认模式下的
USERNAME
列。默认模式适用于大窗口 (>= 950px)。如果窗口较小(>= 520px),将显示USERNAME, ACTIVE, EMAIL
列。在迷你模式下(将显示< 520px) USERNAME, ACTIVE
列。