Android 活动占用了不正确的替代资源

Android 活动占用了不正确的替代资源,android,android-layout,android-resources,android-orientation,Android,Android Layout,Android Resources,Android Orientation,我想在平板电脑上允许横向和纵向,仅在手机上允许纵向。 但我面临着一个错误,任何建议的解决方案 我有各种尺寸(h500dp、h400dp等)。因此,如果我将手机(411dp宽,731dp高,纵向)旋转到横向,然后我启动应用程序,即使活动出现在纵向,它也采用了h400dp尺寸;好像高度是根据我当前的手机方位(横向)来评估的。如果我在启动应用程序之前把手机挂在肖像上,它就需要h500dp的dimens,这才是正确的 我使用的代码是来自的代码;相关代码在活动onCreate中: @Override pr

我想在平板电脑上允许横向和纵向,仅在手机上允许纵向。 但我面临着一个错误,任何建议的解决方案

我有各种尺寸(h500dp、h400dp等)。因此,如果我将手机(411dp宽,731dp高,纵向)旋转到横向,然后我启动应用程序,即使活动出现在纵向,它也采用了h400dp尺寸;好像高度是根据我当前的手机方位(横向)来评估的。如果我在启动应用程序之前把手机挂在肖像上,它就需要h500dp的dimens,这才是正确的

我使用的代码是来自的代码;相关代码在活动
onCreate
中:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (!isTablet()) {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
}
舱单:

    <activity
        android:name=".login.LoginActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

/

使用屏幕尺寸确定设备类型。你可以参考

在第二步中,您可以使用
setRequestedOrientation(ActivityInfo.screen\u orientation\u Grait)更改屏幕方向。还有一个帖子

/

使用屏幕尺寸确定设备类型。你可以参考


在第二步中,您可以使用
setRequestedOrientation(ActivityInfo.screen\u orientation\u Grait)更改屏幕方向。还有另一篇帖子。

请从
活动的
AndroidManifest.xml
中删除配置更改

设置android:configChanges=“keyboardHidden |方向|屏幕大小”


将限制布局在
方向
更改时更新。

请从
活动
AndroidManifest.xml
中删除配置更改

设置android:configChanges=“keyboardHidden |方向|屏幕大小”


将限制布局在
方向
更改时更新。

创建景观layut@nzala真正的问题是,该应用程序将资源当作是在风景中使用的。因此,如果我定义横向布局,它将采用与h400dp dimens相同的方式。您是否可以共享此活动的清单请删除配置更改并重试。是删除配置更改创建横向布局layut@nzala真正的问题是,该应用程序将资源当作是在风景中使用的。因此,如果我定义横向布局,它将采用与h400dp dimens相同的方式。您能否共享此活动的清单请删除配置更改,然后重试。是删除配置更改
<activity
            android:name=".MainActivity"
            android:label=""
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme.NoActionBar">
MyProject/
    res/
        layout/              # default (portrait)
            main.xml
        layout-land/         # landscape
            main.xml
        layout-large/        # large (portrait)
            main.xml
        layout-large-land/   # large landscape
            main.xml