-
在滑动表单时,屏幕左侧部分只是白色,直到完成滑动,最后绘制“返回”形式 . 这是设计的吗?我期望“回到”形式要么逐渐显露出来,要么从左边滑入 .
-
在iOS和Android上,正在刷卡的表格似乎也变为白色,因此整个屏幕都是白色的,直到刷卡结束 . 然而,模拟器不是这种情况,你可以看到表格,直到它完全滑出 .
重现行为的代码:
Form redForm = new Form("Red Form");
redForm.getAllStyles().setBgColor(0xff0000);
Button btnToBlueForm = new Button("Go to blue form");
redForm.add(btnToBlueForm);
Form blueForm = new Form("Blue Form");
blueForm.getAllStyles().setBgColor(0x0000ff);
LazyValue<Form> lazyRedForm = (Object... args) -> redForm;
SwipeBackSupport.bindBack(blueForm, lazyRedForm);
btnToBlueForm.addActionListener((ActionListener<ActionEvent>) (ActionEvent evt) -> {
blueForm.show();
SwipeBackSupport.bindBack(blueForm, lazyRedForm);
});
redForm.show();
按红色表格中的按钮 . 现在出现蓝色表格 . 向后滑动并观察效果 .
1 回答
那是因为过渡中的SlideFade模式 . 如果您将其切换为幻灯片,它应该按预期的方式与背景一起工作 . 这是您的代码版本,通过将样式应用于内容窗格,您可以按预期工作:
这与原始代码相反的原因是SlideFade是两个单独的过渡,一个移动/淡化 Headers ,另一个单独滑动内容窗格 . 由于内容窗格是透明的,因此背景不会被绘制,因为我们假设它是表单背景 . 通过设置内容窗格颜色/不透明度,我们可以在SlideFade“看到”的图层上获得完全相同的效果 .