【问题标题】:Android how to evaluate view size to keep same proportion in all devicesAndroid如何评估视图大小以在所有设备中保持相同的比例
【发布时间】:2015-04-03 00:29:31
【问题描述】:

我正在寻找一种在所有设备上保持视图大小成比例的方法。我尝试了许多数学计算(例如混合屏幕尺寸、密度、百分比等),但没有找到任何解决方案,只是每个测试设备的结果不同。

让我举个例子:假设我正在 sw-360dp 上测试一个应用程序,最终我找到了一个可行的尺寸视图。

relativeLayoutParams.width  = 150;

relativeLayoutParams.height = 250;

这具有创建大小约为屏幕宽度的 1/3 和屏幕高度的 1/2 的视图的效果。

如何动态获得宽度和高度的值,让视图保持 1/3 宽度与 1/2 高度的纵横比?至少我认为这就是文档所说的:“根据屏幕大小的百分比计算确切的视图大小(或边距、填充等)”。

还是我误解了?

任何帮助将不胜感激。

【问题讨论】:

  • 简单地以 dps 代替像素

标签: android view resize screen device


【解决方案1】:

您可以通过定义比例来获取设备屏幕尺寸,

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);

那么,

    width = (int) size.x * 1/3 ; 
    height = (int) size.y * 1/2 ; 

【讨论】:

  • 非常感谢。只是一个问题:这个解决方案是否可以根据屏幕密度独立工作?
  • 是的,我已经测试过了。如果对您有帮助,也请接受答案。
猜你喜欢
  • 1970-01-01
  • 2015-07-15
  • 1970-01-01
  • 2016-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-12
相关资源
最近更新 更多