如何在 Xamarin Forms 中按顺序显示(出现)元素
How to show (appear) elements in order in Xamarin Forms
我有一个按钮网格 (2 x 3),对于我的应用程序,它们将始终是固定大小的菜单。
我想在开始时按出现的顺序稍稍延迟显示它们(从左到右,从上到下)。
我试过这种方法:
在 onAppearing 方法中使用 FadeTo 动画和延迟按顺序显示元素:
await schedule_label_shadow.FadeTo(0, 1);
await schedule_label.FadeTo(0, 1);
await employees_label.FadeTo(0, 1);
await employees_label_shadow.FadeTo(0, 1);
await schedule_label.FadeTo(1, 250);
await schedule_label_shadow.FadeTo(1, 250);
await employees_label.FadeTo(1, 250);
await employees_label_shadow.FadeTo(1, 250);
有效,但我必须先淡出,所以元素不会在开始时显示。但是,这似乎不是制作此类动画的正确或有效方法。我也想尝试 isVisible (true/false),但被告知这是一种不好的做法,因为它会阻塞 UI 线程。
你能告诉我我是否做对了或指出了正确的方向吗?
您需要在 schedule_label_shadow 和其他视图中设置不透明度 = 0。您也可以从 xaml.
设置 属性
schedule_label.Opacity = 0;
并删除
await schedule_label_shadow.FadeTo(0, 1);
我有一个按钮网格 (2 x 3),对于我的应用程序,它们将始终是固定大小的菜单
我想在开始时按出现的顺序稍稍延迟显示它们(从左到右,从上到下)。
我试过这种方法:
在 onAppearing 方法中使用 FadeTo 动画和延迟按顺序显示元素:
await schedule_label_shadow.FadeTo(0, 1);
await schedule_label.FadeTo(0, 1);
await employees_label.FadeTo(0, 1);
await employees_label_shadow.FadeTo(0, 1);
await schedule_label.FadeTo(1, 250);
await schedule_label_shadow.FadeTo(1, 250);
await employees_label.FadeTo(1, 250);
await employees_label_shadow.FadeTo(1, 250);
有效,但我必须先淡出,所以元素不会在开始时显示。但是,这似乎不是制作此类动画的正确或有效方法。我也想尝试 isVisible (true/false),但被告知这是一种不好的做法,因为它会阻塞 UI 线程。
你能告诉我我是否做对了或指出了正确的方向吗?
您需要在 schedule_label_shadow 和其他视图中设置不透明度 = 0。您也可以从 xaml.
设置 属性 schedule_label.Opacity = 0;
并删除
await schedule_label_shadow.FadeTo(0, 1);