Fem*_*jin 9 cross-platform xamarin xamarin.forms
如何检测Xamarin Forms中的屏幕方向变化?我需要更改方向更改的视图,我应该怎么做以触发方向更改的更改?提供链接或示例代码将非常有帮助.
提前致谢
bka*_*dol 12
我尝试了依赖注入,但还没有成功.现在,我这样解决了:
OnSizeAllocated(double, double)改变屏幕上的方向变化.Xamarin.Forms页面
protected override void OnSizeAllocated(double width, double height)
{
base.OnSizeAllocated(width, height);
if (DeviceInfo.IsOrientationPortrait() && width > height || !DeviceInfo.IsOrientationPortrait() && width < height)
{
// Orientation got changed! Do your changes here
}
}
Run Code Online (Sandbox Code Playgroud)
单身人士班
public class DeviceInfo
{
protected static DeviceInfo _instance;
double width;
double height;
static DeviceInfo()
{
_instance = new DeviceInfo();
}
protected DeviceInfo()
{
}
public static bool IsOrientationPortrait()
{
return _instance.height > _instance.width;
}
public static void SetSize(double width, double height)
{
_instance.width = width;
_instance.height = height;
}
}
Run Code Online (Sandbox Code Playgroud)
Ian*_*ink 10
只需将其添加到您的页面,或者更好的是您的BasePage:
static bool IsPortrait(Page p) { return p.Width < p.Height; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10933 次 |
| 最近记录: |