当屏幕小于(例如)480px时,任何人都知道如何在我的Android应用中禁用屏幕旋转? 我正在构建使用phonegap的应用程序,它将针对平板电脑设备,但它也可以在智能手机上运行。不幸的是,当横向显示app时,应用程序才能正确显示...
答案 0 :(得分:4)
可能是'if'控制
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
onCreate函数中的?
答案 1 :(得分: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;'
答案 2 :(得分:0)
将@Howard Hodson的解决方案与此线程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);
}
}