相关疑难解决方法(0)

Android屏幕密度计算

有人可以告诉我Android如何计算屏幕密度?

我的问题是我有一个480x800分辨率和7"对角线屏幕的设备(ODYS Space).如果我计算它的密度,我得到一个133 DPI的值,但Android(2.2和2.3)报告它像"MEDIUM"密度设备(160 DPI).

我正在与多屏幕支持作斗争,所以我认为133 DPI会报告像"LOW"而不是"MEDIUM"所以现在我的屏幕布局看起来非常愚蠢.

我用这样的代码检查设备:

DisplayMetrics dMetrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dMetrics);  
int d=dMetrics.densityDpi;
Run Code Online (Sandbox Code Playgroud)

如果我在配置的虚拟设备(480x800/7"和133 DPI)上运行该代码,那么我得到密度= 120.

在真实设备上为什么会说160呢?

android screen

6
推荐指数
1
解决办法
9835
查看次数

如何让我的应用在所有设备中看起来都一样?

我是Android开发的新手,我在android studio上构建了一个应用程序,我想让我的应用程序在所有设备上都有相同的设计:

三星Galaxy S4 => 1080x1290; 5.0"

Galaxy Nexus => 720x1280; 4.7"

Nexus 4 => 768x1280; 4.7"

摩托罗拉Droid Razr M => 540x960; 4.3"

Nexus S => 480x800; 4"

Galaxy S2 => 480x800; 4.3"

Galaxy Ace => 320x480; 3.5"

Galaxy Note => 800x1280; 5.3"

Galaxy Note II => 720x1280; 5.5"

Nexus 10 => 2560 x 1600; 10.1"

Galaxy Tab 10.1 => 1280*800; 10.1"

Galaxy Note 8.0 => 1280*800; 8.0"

Galaxy Tab 7.7 => 1280*800; 7.7"

Nexus 7 => 1280*800; 7.0"

Galaxy …

layout android screen-orientation screen-size android-screen-support

6
推荐指数
1
解决办法
2万
查看次数

Flutter:以毫米为单位创建标尺

我正在创建一个标尺应用程序,我可以在其中以毫米为单位测量任何东西。

类似于这个应用程序https://play.google.com/store/apps/details?id=org.nixgame.ruler&hl=en_IN但非常基本的东西。

我将Divider小部件重复到一个Column小部件中,并保持给定的6.299间隙。

class Ruler extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.end,
        children: rulerPin(350),
      ),
    );
  }

  List<Divider> rulerPin(int count) {
    return List.generate(count, (i) {
      return Divider(
        height: 6.299,
        thickness: 1,
      );
    }).toList();
  }
}
Run Code Online (Sandbox Code Playgroud)

但问题是当我用手机上的物理标尺测量时,数值不匹配。检查给定的屏幕截图。

在此处输入图片说明

我正在使用此参考从毫米计算逻辑像素

请建议我是否遵循正确的方法。

flutter flutter-layout

5
推荐指数
1
解决办法
571
查看次数

将Pixel值转换为mm - Android

由于特殊需求,在我的android布局中,我使用"mm"来提供大小.在TextView中,我也提供了"mm"的尺寸.当我这样做时textView.getTextSize(),返回的大小始终是像素值.我想将该像素值转换为"mm".例如,如果我将字体大小设置为"2mm",那么在任何设备上,当我这样做时getTextSize(),我想得到"2mm".

我应该使用任何具体方法吗?我可以找到将"mm"转换为"像素"的答案,但无法找到任何关于转换的内容,反之亦然.

android pixel

4
推荐指数
2
解决办法
7405
查看次数

如何将分辨率转换为dpi

我做了我的分析,发现我的应用程序的大多数用户将是三星Galaxy S2和三星galaxy note.研究他们的技术规格,我发现:Galaxy S2:480 x 800像素,4.3'显示

Galaxy Note:1280 x 800,5.3"屏幕

如何将这些分类为布局大小和设计级别?我想我可以弄清楚android开发页面中提到的布局大小但是我无法知道密度级别(低,中高xhigh).他们说我需要dpi但是在功能规格方面,我很少看到dpi,我只看到上面的分辨率谢谢

android

1
推荐指数
1
解决办法
5250
查看次数