我创建了一些自定义元素,我想以编程方式将它们放置在右上角(n顶部边缘的m像素和右边缘的像素).因此我需要获得屏幕宽度和屏幕高度,然后设置位置:
int px = screenWidth - m;
int py = screenHeight - n;
Run Code Online (Sandbox Code Playgroud)
如何获得screenWidth并screenHeight在主要活动?
所以我正在为Android制作应用程序,我想强制平板电脑的横向定位和手机的纵向定位.然而,似乎我只能从我所看到的方向进行定位锁定,这会使想要两个单独的设备方向的目的失败.
平板电脑:风景电话:肖像
更具技术性.
我在"res/layout-xlarge-land"中有一个用于在平板电脑上进行美化的布局,我在"res/layout"中有原始布局,我只想明确地使用layout-xlarge-land作为平板电脑.没有别的,基本上只使用xlarge设备的横向.
谢谢!
我正在制作一个应用程序,我刚开始使用Fragments,在阅读完所有文档后,我到了这里.我设计了应用程序,所以在纵向模式下,它是两个活动,选择器和细节,而在横向左侧是选择器右侧是细节,在平板电脑上.现在,这在这张图片中非常棒:

然而,现在当我将手机变成风景时,它与平板电脑在风景中的作用相同,有两个片段.首先,我想知道我应该把它作为手机上的两个片段吗?这会是"最佳做法"吗?如果没有,我想知道如何在不弄乱平板电脑景观的情况下制作像肖像一样的景观.
谢谢
是否可以以英寸计算android屏幕对角线尺寸.
我试过以下两种方法都不适合我的情况.
方法1:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int absoluteHeightInPx = displayMetrics.heightPixels;
int absoluteWidthInPx = displayMetrics.widthPixels;
double diagonalPixels = Math.sqrt((absoluteHeightInPx * absoluteHeightInPx) + (absoluteWidthInPx * absoluteWidthInPx));
double diagonalInInches = diagonalPixels / displayMetrics.densityDpi;
Run Code Online (Sandbox Code Playgroud)
方法2:
float actualHeight = absoluteHeightInPx * deviceDensity;
float actualWidth = absoluteWidthInPx * deviceDensity;
float deviceDensity = displayMetrics.density;
float physicalPixelPerInchX = displayMetrics.xdpi;
float physicalPixelPerInchY = displayMetrics.ydpi;
float heightInInches = actualHeight / physicalPixelPerInchY;
float widhtInInches = actualWidth / physicalPixelPerInchX;
double diagonalInInches = Math.sqrt((heightInInches * heightInInches) + (widhtInInches * widhtInInches)); …Run Code Online (Sandbox Code Playgroud) android ×5
dimensions ×1
java ×1
layout ×1
mobile ×1
orientation ×1
pixel ×1
screen ×1
tablet ×1