Xamarin,xaml页面中元素或视图的块方向

snz8szmq  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(97)

我必须在Xamarin 5.0中设计一个页面,页面的底部视图不应该在设备方向上旋转。我找不到一种方法来停止屏幕上的元素或视图的方向。这与iPhone的相机视图非常相似,当相机视图旋转时,底部的捕获按钮和其他图标保持不变。
为了更好地演示它,请查看希望在纵向和横向模式下运行的页面。文本USA保持原样,但Hello会响应方向。

我尝试了许多示例,所有示例都是关于整个页面方向的,方法是使用Xamarin Essentials或VisualStateManager检测设备方向。
我们可以用xaml来实现吗?或者用代码中的一些部分。任何帮助都是感激的。

ibrsph3r

ibrsph3r1#

为了更好地演示它,请查看希望在纵向和横向模式下运行的页面。文本USA保持原样,但Hello会响应方向。
似乎只能锁定特定页面的方向,而不能锁定特定视图或元素。
MainActivity.cs:

protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);
    MessagingCenter.Subscribe<MainPage>(this, "Portrait", sender =>
    {
        RequestedOrientation = ScreenOrientation.Portrait;
    });Sensor

    MessagingCenter.Subscribe<MainPage>(this, "Sensor", sender =>
    {
        RequestedOrientation = ScreenOrientation.Sensor;
    });
}

Page.xaml.cs:

protected override void OnAppearing()
{
    base.OnAppearing();
    MessagingCenter.Send(this, "Portrait");
}

protected override void OnDisappearing()
{
    base.OnDisappearing();
    MessagingCenter.Send(this, "Sensor");
}

有关详细信息,您可以查看此案例:Control single page orientation and view rotation in Xamarin Forms .
我也搜索了其他案例,你可以参考:一对一对一,一对一。

相关问题