Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:如何允许基于设备的定位_Android_Layout_Orientation_Device_Screen Size - Fatal编程技术网

Android:如何允许基于设备的定位

Android:如何允许基于设备的定位,android,layout,orientation,device,screen-size,Android,Layout,Orientation,Device,Screen Size,我正在开发一个Android应用程序,我想支持所有大小的设备,从手机到全尺寸平板电脑。我想将应用程序限制为仅在较小的设备上使用纵向,并允许在设备较大时在横向中使用不同的、更大屏幕友好的UI。到目前为止,我找不到任何方法,更不用说优雅的方法,来限制活动允许基于设备屏幕大小的方向 一个例子是:运行应用程序的智能手机只允许使用layout small和layout normal中的布局资源,而不允许使用横向布局。更大的平板设备可以使用更大屏幕友好的UI,并且允许在纵向和横向中使用,每个方向都有唯一的U

我正在开发一个Android应用程序,我想支持所有大小的设备,从手机到全尺寸平板电脑。我想将应用程序限制为仅在较小的设备上使用纵向,并允许在设备较大时在横向中使用不同的、更大屏幕友好的UI。到目前为止,我找不到任何方法,更不用说优雅的方法,来限制活动允许基于设备屏幕大小的方向

一个例子是:运行应用程序的智能手机只允许使用layout small和layout normal中的布局资源,而不允许使用横向布局。更大的平板设备可以使用更大屏幕友好的UI,并且允许在纵向和横向中使用,每个方向都有唯一的UI


任何提示都将不胜感激。

要强制活动进入纵向模式,您可以在Android清单中进行设置,但这样您就无法为较小的屏幕指定,我认为这是不可能的。此外,你应该小心这样做,因为某些手机是为横向模式。

要为特定屏幕尺寸提供替代布局,可以通过在文件夹名称中添加参数来实现

/res/layout-small/main.xml
/res/layout-normal/main.xml
/res/layout-large/main.xml
/res/layout-xlarge/main.xml

您可以尝试使用以下方法以编程方式获取屏幕大小:

int width = display.getWidth();
int height = display.getHeight();
然后根据屏幕大小是否在特定边界之间允许/不允许?

display.getWidth()不推荐使用。改为使用displayMetrics.widthPixels。