任何人都知道当屏幕小于(例如)480px 时,如何在我的 Android 应用中禁用屏幕旋转?我正在使用 phonegap 构建应用程序,女巫将针对平板设备,但也可以在智能手机上运行它。不幸的是,只有当应用程序以横向显示时,应用程序才能正确显示......
问问题
2623 次
3 回答
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 回答
4
也许是一个“如果”控制
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
在 onCreate 函数中?
于 2011-09-11T15:13:53.717 回答
0
结合@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);
}
}
于 2013-08-21T13:44:00.293 回答