我创建了一些自定义元素,我想以编程方式将它们放置在右上角( n
来自顶部边缘的像素和 m
来自右边缘的像素)。因此我需要获取屏幕宽度和屏幕高度,然后设置位置:
int px = screenWidth - m;
int py = screenHeight - n;
如何在主活动中获得 screenWidth
和 screenHeight
?
原文由 Niko Gamulin 发布,翻译遵循 CC BY-SA 4.0 许可协议
我创建了一些自定义元素,我想以编程方式将它们放置在右上角( n
来自顶部边缘的像素和 m
来自右边缘的像素)。因此我需要获取屏幕宽度和屏幕高度,然后设置位置:
int px = screenWidth - m;
int py = screenHeight - n;
如何在主活动中获得 screenWidth
和 screenHeight
?
原文由 Niko Gamulin 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Kotlin 中要简单得多。
val displayMetrics = Resources.getSystem().displayMetrics
displayMetrics.heightPixels
displayMetrics.widthPixels
原文由 Syed Arsalan Kazmi 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答2.6k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
2 回答1.7k 阅读
1 回答2.1k 阅读
1 回答1.1k 阅读
1 回答1.3k 阅读
如果您想要以像素为单位的显示尺寸,您可以使用
getSize
:如果您不在
Activity
您可以通过 --- 获得默认值Display
WINDOW_SERVICE
:如果您在片段中并且想要完成此操作,只需使用 Activity.WindowManager(在 Xamarin.Android 中)或 getActivity().getWindowManager()(在 java 中)。
在引入
getSize
之前(在 API 级别 13 中),您可以使用现在已弃用的getWidth
和getHeight
方法:但是,对于您所描述的用例,布局中的边距/填充似乎更合适。
另一种方式是: DisplayMetrics
我们可以使用
widthPixels
来获取以下信息:例子:
API 级别 30 更新