【问题标题】:MVVM Cross android orientation issueMVVM Cross android 方向问题
【发布时间】:2020-03-02 09:25:08
【问题描述】:

我需要根据平板电脑(两个方向)更改手机(仅纵向)的方向,请让我知道在 Android 的 MVVM Cross 中执行此操作的方法

[Activity(ScreenOrientation = ScreenOrientation.Portrait, Theme = "@style/AppTheme")]

【问题讨论】:

    标签: xamarin xamarin.android mvvmcross


    【解决方案1】:

    将此 bool 资源放入 res/valuesdevices_config.xml 或其他任何内容(文件名在这里无关紧要):

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="portrait_only">true</bool>
    </resources>
    

    把这个放在res/values-sw600dpres/values-xlarge

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="portrait_only">false</bool>
    </resources>
    

    然后,在您的活动的OnCreate 方法中,您可以这样做:

    if (Resources.GetBoolean(Resource.Boolean.portrait_only))
    {
        RequestedOrientation = ScreenOrientation.Portrait;
    }
    

    在最小宽度方向上超过 600 dp 的设备,或在 Android 3.2 之前的设备(基本上是平板电脑)上的 x-large 将表现得像正常一样,基于传感器和用户锁定的旋转等。其他一切(手机,几乎)将只是肖像。

    基于this answer

    以防万一,您可能会在更改活动时看到一些自动旋转,所以如果是这种情况,您可以查看this answer to fix it

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-17
      • 1970-01-01
      相关资源
      最近更新 更多