2011-09-11 18 views
4

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

+0

私はそれをやったが、私の質問に答えを投稿するには8時間(6以上)待たなければならない – PsychoX

答えて

4

たぶん「もし」制御

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)。

onCreate関数では?

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;' 
0

@Howardホドソンの溶液を組み合わせ、このスレッドでHow to determine device screen size category (small, normal, large, xlarge) using code?

このコード:

@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); 
    } 
} 
関連する問題