Android可能会对单一的定向活动使用错误的布局文件

Android可能会对单一的定向活动使用错误的布局文件,android,orientation,Android,Orientation,我偶然发现,如果您有一个设置为一个方向的活动,但包含一个不同方向的单独布局文件,当活动首次启动时,将使用与设备物理方向匹配的布局文件和与活动方向匹配的布局文件对其进行充气。因此,如果AndroidManifest.xml指定 <activity android:name=".activities.LandscapeGardener" android:screenOrientation="sensorLandscape"> <

我偶然发现,如果您有一个设置为一个方向的活动,但包含一个不同方向的单独布局文件,当活动首次启动时,将使用与设备物理方向匹配的布局文件和与活动方向匹配的布局文件对其进行充气。因此,如果AndroidManifest.xml指定

    <activity
        android:name=".activities.LandscapeGardener"
        android:screenOrientation="sensorLandscape">
        <!-- note for new readers: sensorLandscape is like landscape, but also
             works upside-down.
             Other activity stuff would go here. -->
    </activity>

布局端口
文件夹中有一个
LandscapeGardener
的布局,如果以纵向方式加载活动,则纵向特定的布局将膨胀

顺便说一句,我们出现这种情况的原因是,我们正在开发的一个活动有一些特定于肖像的bug,因此我们决定在修复用户肖像模式的同时,抑制用户肖像模式,但当然,这个问题使抑制有点偏颇


请注意,如果设备在启动时方向正确,则不会更改为不正确的布局。

请尝试横向,而不是横向。我很确定它能工作。

只是好奇,添加
android:configChanges=“orientation”
会有什么不同吗?这是在启动时;若你们从景观开始,它不会改变布局。这可能是一个愚蠢的问题,但景观设计师在上下文中的意思是“景观”,而不是方向,对吗?(例如,一个可以种植园丁的地方)否则在布局端口文件夹中会有一个景观锁定布局。我选择了名称
LandscapeGardener
,作为一个笑话,但是你是对的,因为
活动
名称不会影响功能:你也可以调用它
肖像画家
,如果你将它设置为,它可以在景观中工作。我刚刚尝试过它-
景观
产生与
传感器景观
完全相同的错误。