我正在开发Java和ZK的ERP。
我有一个borderlayout
,其中包含带有一些过滤器的面板。
我想让北方崩溃。
如果我点击箭头将其折叠或打开它,它可以正常工作,但是如果我在栏上按下它,它将无法正常打开,只能预览。
我可以禁用此功能吗?我可以处理栏上的点击事件吗?
爪哇:
North north = new North();
m_mainLayout.appendChild(north);
north.setHflex("1");
north.setCollapsible(true);
答案 0 :(得分:1)
有几件事可以帮到你。其中一些可能是新的,因为它们没有很好的文档记录,并且在我的Eclipse自动完成中没有提供。
首先:幻灯片 - 布局区域有一个setSlide(boolean)
,点击栏时可以收听onSlide
event,但不能点击按钮。
其次,有一个 library property 来关闭崩溃动画:
<library-property>
<name>org.zkoss.zul.borderlayout.animation.disabed</name>
<value>true</value>
</library-property>
您可以在zk.xml
中指定它,以查看您的案例是否在有或没有动画的情况下效果更好(在我的迷你示例中,如果没有动画,效果会更好)。
第三,最重要的是,添加这个样式,这将使整个栏像按钮一样:
<style>
.z-north-collapsed>.z-borderlayout-icon {
top: 0; bottom: 0; right: 0; left: 0;
width: 100%; height: 100%;
}
.z-north-collapsed>.z-borderlayout-icon::before {
vertical-align: middle;
}
</style>
这仅适用于north
,您可能希望其他地区更加通用。我发现将按钮放大并将所有动画/事件处理/组件替换为zk看起来效果最佳。
示例:强>
<style>
.z-north-collapsed>.z-borderlayout-icon {
top: 0; bottom: 0; right: 0; left: 0;
width: 100%; height: 100%;
}
.z-north-collapsed>.z-borderlayout-icon::before {
vertical-align: middle;
}
</style>
<borderlayout>
<north splittable="true" collapsible="true" >
<button label="hello" />
</north>
<center>
<textbox value="world" />
</center>
</borderlayout>