Android sensors 如何在手机和平板电脑上设置不同的方向更改设置?
我正在为手机和galaxy tab制作一个应用程序。 我想成为手机上唯一的肖像模式,以及标签页上的肖像和风景 到目前为止,我得到了以下代码片段:Android sensors 如何在手机和平板电脑上设置不同的方向更改设置?,android-sensors,android,android-orientation,Android Sensors,Android,Android Orientation,我正在为手机和galaxy tab制作一个应用程序。 我想成为手机上唯一的肖像模式,以及标签页上的肖像和风景 到目前为止,我得到了以下代码片段: public void onCreate(Bundle savedInstanceState) { DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMet
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);
我认为它可以正常工作,但对于一些随机错误,它不是每次都能正常工作。。
让我们说大约十次,在手机上方向只改变为横向一秒,然后又变回纵向。所以一辆小车有点不对劲
这是另一种更好的方法吗?您可以在mainfest中设置为screenOrientation
<activity
android:name=".Dis"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
对于galaxy note这样的混合动力车,您想做些什么?根据你的代码,它们将被视为“电话”。我建议你不要为用户决定什么更好,而是让它成为一个选择?也许有些用户希望能够更改纵向/横向,您可以在设置中设置一个“锁定”按钮,但坦率地说,即使这样在操作系统中也已准备就绪?请参考此链接:据我所知,galaxy note的宽度和高度与galaxy tab完全相同,因此我的代码可以像tab一样处理它。对于像galaxy note的屏幕这样的一大块桌子,对我来说很好。