我为手机和galaxy tab制作应用程序。 我想在手机上只有肖像模式,在标签中也只有肖像和风景。
到目前为止,我得到了这段代码:
public void onCreate(Bundle savedInstanceState)
{
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
if(!(width>=800 && height>=1280))
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
//... more code below
所以我只检查屏幕尺寸,如果它是平板电脑的800x1280,我什么都不做,方向改变是活跃的。如果它不是800x1280我做:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
我认为它会正常工作,但对于一些随机的bug,它每次都不起作用.. 让我们说大约十次,方向只是改变为手机上的景观,然后它变回肖像。所以一辆小马车有点不对劲。
这是另一种更好的方法吗?
答案 0 :(得分:0)
你可以在mainfest中设置screenOrientation
<activity
android:name=".Dis"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>