[解決済み】Android:タブレットでは縦向きと横向きを許容するが、電話では縦向きを強制する?
2022-04-10 13:34:15
質問
タブレットは縦にも横にも表示できるようにしたいのですが(sw600dp以上)、スマホは縦にしか表示できないようにしてほしいです。条件付きで向きを選択する方法が見当たりません。何かいい方法はないでしょうか?
解決方法は?
を使った良い方法があります。 リソース と サイズ修飾子 .
このboolリソースをres/valuesにbools.xmlなどとして置く(ここではファイル名は重要ではありません)。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="portrait_only">true</bool>
</resources>
これをres/values-sw600dpとres/values-xlargeに入れました。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="portrait_only">false</bool>
</resources>
参照 この補足の回答 Android Studioでこれらのディレクトリとファイルを追加する方法については、こちらを参照してください。
そして、ActivityのonCreateメソッドで、次のようにします。
if(getResources().getBoolean(R.bool.portrait_only)){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
横幅最小方向が600dp以上の端末、Android 3.2以前の端末(基本的にタブレット)ではx-largeは通常通りの動作となります。 センサーとユーザーロックされた回転などに基づき . それ以外のもの(電話、ほとんど)は縦向きのみになります。
関連
-
[解決済み】java.lang.RuntimeException: アクティビティを開始できない ComponentInfo
-
[解決済み] [Solved] Unsupported method: ベースコンフィグ.getApplicationIdSuffix()
-
[解決済み】"ビットマップが大きすぎてテクスチャにアップロードできない"
-
[解決済み】Android Studioでused import文がunused import文に指定されるのはなぜ?
-
[解決済み】Android Studio 3.2 - com.android.tools.build:aapt2:3.2.0-4818971 を見つけられませんでした。
-
[解決済み】Android Studioで最新バージョンのgradleを使用する方法
-
[解決済み】'dependencies' を '(groovy.lang.Closure)' に適用できない。)
-
[解決済み】android.content.res.Resources$NotFoundExceptionの取得:androidにリソースが存在する場合でも例外が発生する。
-
[解決済み] Androidアプリの向きを縦向きと横向きにロックする方法。
-
[解決済み] 縦向きと横向きで異なるレイアウトを指定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 設定 ':classpath' の依存関係をすべて解決できなかった。
-
[解決済み] [Solved] Unsupported method: ベースコンフィグ.getApplicationIdSuffix()
-
[解決済み】レンダリングの問題 レンダリング中に発生した例外:com/android/util/PropertiesMap [重複].
-
[解決済み】起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み】Couldn't load memtrack module Logcat Error
-
[解決済み] TypeError: cb.apply は関数ではありません。
-
[解決済み] コンパイルした.apkを端末にインストールしようとするとINSTALL_FAILED_UPDATE_INCOMPATIBLEが表示される
-
[解決済み] com.android.supportのライブラリは全て全く同じバージョン表記である必要があります。
-
[解決済み] Android M パーミッション : shouldShowRequestPermissionRationale()関数の使用方法について混乱しています。
-
[解決済み】端末がスマートフォンかタブレットかを判断する?[重複あり]