gpt4 book ai didi

Android + XAMARIN + 强制屏幕停留在 "Portrait"模式(使用 AndroidManifest)

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:07 25 4
gpt4 key购买 nike

我在这里阅读了这个问题的一些答案,但不知何故我无法让它工作。

我的 AndroidManifest.xml 如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mWidas2.mWidas2" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<uses-sdk />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:label="WQS" android:icon="@drawable/temporaryIcon">
<activity android:name=".MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation" />
</application>
</manifest>

我仍然可以切换到横向模式,因为在横向模式下布局变得非常丑陋,我想避免这种情况。非常感谢帮助。

可能很重要:我正在使用最新的 Xamarin 开发应用

最佳答案

您可以标记您的 activity成为portrait使用类属性:

[Activity (Label = "MyMainScreen", MainLauncher = true, ScreenOrientation = ScreenOrientation.Portrait)]
public class Activity1 : Activity

这是强制 Activity 始终基于纵向的唯一方法,因为 Xamarin 会生成自动生成的类名,而无需硬编码您的类名。

更新:

我收到了很多关于这个 Q/A 的 IM 问题,所以我扩展了为什么使用 manifest 方法不起作用的答案。

Xamarin 会为没有 Name 的 Activity 自动生成完全限定的类名分配给您的 Activity 类的属性。

如果您查看来自 Xamarin Android 的已签名/生成的 list .apk 你会看到一个像这样的类名:

md5d2519388ea1895e3e3594794d2e0c4ce.MainActivity

由于您使用点名称类标识符标记您的 list ,该标识符将在其前面加上包名称:

<activity android:name=".MainActivity"

完全限定类名不匹配,因为以句点开头的类名将获得包名前缀,而那些从不匹配自动生成的类名。

您可以使用 Name 解决这个自动生成的完全限定类名你的 Activity 中的元素属性以防止创建自动生成的名称,即:

[Activity(Label = "PlayScriptStarling", Name = "com.sushihangover.playscriptstarling.MyBigBadGameEveryOneShouldPlay", MainLauncher = true, Icon = "@mipmap/icon")]

现在,假设您的包名称是“com.sushihangover.playscriptstarling”,使用:

<activity android:name=".MyBigBadGameEveryOneShouldPlay"

在您的 list 中将用作类名,一旦在 list 中展开与您的代码中的类名相匹配。

问题是如果你的包名改变了你破坏了你的dot class names在你的 list 中。所以使用 ScreenOrientation = ScreenOrientation.Portrait是一种更简洁的方向分配方式,不需要您为每个 Activity 分配完全限定的类名,并且不会在包名称更改时中断。

注意:Name Activity 中的元素类属性不支持 dot class names并且需要使用完全扩展的类名。这已作为功能请求提交给 Xamarin...

关于Android + XAMARIN + 强制屏幕停留在 "Portrait"模式(使用 AndroidManifest),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36598052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com