Androidアプリでタブレットは縦横対応するけど、スマートフォンは縦固定にしたいActivityがありまんねん!って時の対処法。
参考にさせていただいた記事はこちら
→ Androidで画面の向きを固定する(回転させない)
→ 1apkでAndroidタブレット向けとスマートフォン向けアプリを実現する方法 その2
タブレットの判定は
public static boolean isHoneycombTablet(Context context) { return isHoneycomb() && (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE; }
ActivityをJAVAで縦固定するには
this.setRequestedOrientation((ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
これに上のタブレット判定を合わせて
if (!CheckTablet.isHoneycombTablet(this)) { this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); }
といった感じで実現できそうです。
参考にさせていただいた記事にあった
- AndroidManifest.xmlで画面の固定をする方法
- バージョンがHoneycomb以降かどうかの判定
も、あわせて覚えておきたいですね。