4

画面が(たとえば)480pxよりも小さい場合、Androidアプリで画面の回転を無効にするにはどうすればよいですか?phonegap witchを使用してアプリを作成していますが、タブレットデバイスを対象としていますが、スマートフォンで実行することもできます。残念ながら、アプリケーションは横向きで表示されている場合にのみ正しく表示されます...

4

3 に答える 3

4

多分'if'制御

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

onCreate関数で?

于 2011-09-11T15:13:53.717 に答える
4

それをやった!:)

方法は次のとおりです(自明):

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;'
于 2011-10-01T09:28:31.693 に答える
0

@Howard Hodsonのソリューションとこのスレッドを組み合わせるコードを使用してデバイスの画面サイズのカテゴリ(小、通常、大、x大)を決定する方法は?

私はこのコードを使用します:

@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);
    }
}
于 2013-08-21T13:44:00.293 に答える