Android: отключить поворот экрана, когда экран меньше, чем x

Кто-нибудь знает, как отключить поворот экрана в приложении для Android, когда экран меньше (например, 480 пикселей)? Я создаю приложение, используя телефонную клавиатуру, которая будет нацелена на планшетные устройства, но также можно запускать ее на смартфонах. К сожалению приложение отображается только правильно, когда приложение отображается в альбомной ориентации …

Может быть, «если» контролируется

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

В функции onCreate?

Сделал это! 🙂

Вот как (объяснительно):

int width; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.loadUrl("file:///android_asset/www/index.html"); Display display = getWindowManager().getDefaultDisplay(); width = display.getWidth(); if(width <= 480) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if(width <= 480) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } }' 

И немного импорта:

 import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.view.Display;' 

Сочетая решение @Howard Hodson и в этой теме. Как определить размер экрана устройства (маленький, обычный, большой, xlarge) с использованием кода?

Я использую этот код:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); disableLandscapeInSmallDevices(); } private void disableLandscapeInSmallDevices() { if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } }