タブレットで風景と肖像画を許可したいのですが、携帯電話でのみ肖像画を許可します。 That question has already been asked,しかし、私は提案されている解決策のいずれかのバグに直面しています。アクティビティが間違った代替リソースを受け取る
私は様々な次元を持っていますdefined depending on the height of the device(h500dp、h400dpなど)。私の携帯電話(縦411dp、縦731dpの高さ)をにすると、の風景になり、その後というアクティビティが表示されても、のh400dpが表示されます。あたかも私の現在の携帯電話の向き(風景)によって高さが評価されたかのように。アプリを起動する前に携帯電話をポートレートで使用している場合は、h500dpの数字が表示されますが、これは正しいものです。
私が使用しているコードはthis answerのものです。関連するコードは、活動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>
ランドスケープを作成 – nzala
@nzala本当の問題は、アプリケーションがランドスケープにあるかのようにリソースを取り込むことです。だから私がランドスケープレイアウトを定義するなら、それはh400dpの次元でそれと同じようにそれを取るでしょう。 – RominaV
このアクティビティのマニフェストを共有できますか – Mahesh