【问题标题】:Android Screen Size Algorithm / PatternAndroid 屏幕尺寸算法/模式
【发布时间】:2011-09-17 04:21:47
【问题描述】:

我正在寻找一种算法或模式来计算可以在多个分辨率上放置对象的位置。到目前为止,我已经获得了 X 和 Y 屏幕尺寸,但我不确定如何将其转换为计算,无论屏幕尺寸如何,都可以在屏幕上的某个位置放置诸如 drawText() 之类的东西。

我在想也许使用百分比可能更容易使用。我有一个程序可以在屏幕左上角绘制文本,指示屏幕被触摸的位置。

当我在模拟器上运行它时,使用

drawText(info, 10,10, paint);

它显示得很好,但是当我在我的手机(Droid 2 Global)上运行它时,文本的顶部被切断了。

简而言之:

有什么方法可以在屏幕上绘制一些东西(使用 SurfaceView),这些东西将在多个屏幕尺寸/dpi 上保持在同一个位置?

感谢您的宝贵时间。

【问题讨论】:

    标签: android algorithm screen-size


    【解决方案1】:

    到目前为止,这不是我所见过的完美解决方案。

    我通过为特定屏幕比例(模拟器中的本机屏幕分辨率)指定特定项目的位置来遇到这个问题,然后在不同的屏幕尺寸下运行时重新计算其位置并放大/缩小它。

      displayXpos =  constDevelopmentScreenXpos (targetDeviceScreenHeight/constDevelopmentScreenHeight) etc..
      displayXScale = similarAlgorithm
    

    这不是最好的,但它会给你一些想法。

    另外,我用背景填充一些“边缘”区域,并在目标设备 X:Y 屏幕比例与开发设备不同时选择不关心它。

    HTH

    【讨论】:

      【解决方案2】:

      是的,最好用百分比计算

      首先获取屏幕的总尺寸利用率,然后计算它的百分比,并根据计算放置控件

      获取可用大小

      Display mDisplay= activity.getWindowManager().getDefaultDisplay();
      int width= mDisplay.getWidth();
      int height= mDisplay.getHeight();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-24
        • 2013-03-01
        • 1970-01-01
        • 2015-09-10
        • 1970-01-01
        相关资源
        最近更新 更多