问题标签 [android-screen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1153 浏览

android - 安卓多屏

今天看了很多关于android的多屏文档的资料。当您在 xml 布局上使用“dp”单元时,我怀疑 android 在 QVGA、HVGA 和 WVGA 上支持多屏。android 是否支持相同的密度但不同的分辨率?例如,我为 mdip 定义了一个 xml 布局。此布局可用于 480x800 和 320x480 分辨率吗?

谢谢你。

0 投票
1 回答
1570 浏览

android - 在两个不同的设备上在同一张图片上画同一个圆圈(不同的屏幕密度)

我在两个具有不同屏幕尺寸和密度的不同设备上有一个图像。

使用画布,我想在设备 A 图像上画一个圆,然后将中心坐标发送到设备 B,并在相同位置绘制圆,即使同一个图像具有不同的大小。

在发送 x 坐标之前,我在设备 A 上执行的操作如下:

我对 y 坐标做同样的事情。

在设备 B 上,我得到相同的参数并将接收到的坐标乘以英寸长度:

我正在 AVD 上对此进行测试。问题是每个 AVD 的屏幕密度为 1,即使我可以清楚地看到在较小的设备(设备 A)上,完全显示相同的图像,但占用的空间更小!

这种方法在真实设备上工作时是否可行?

有没有更好的方法呢?

0 投票
2 回答
2603 浏览

android - 如何在运行时计算屏幕高度和宽度?

我在 android 中有以下课程,我在其中定义了一些函数来计算屏幕上气泡的运动。

这是屏幕分辨率 1024*600px。但是我想在运行时计算屏幕大小。意味着需要在运行时定义 coordX 和 coordY。你能帮我修改代码吗?

我尝试在 moveBall() 中使用以下代码,但该代码在那里不起作用。

任何人都可以提出解决方案吗?

0 投票
2 回答
1360 浏览

android - Android,关于用户界面设计

我阅读Supporting Multiple Screens指南越多,我就越困惑。如果layout文件夹的限定符基于大小(small、normal、large 和 xlarge)并且drawable文件夹的限定符基于密度(ldpi、mdpi、hdpi 和 xhdpi),那么如何指定可绘制/图像的大小? 可绘制文件夹中的所有图像是否应该具有相同的大小(基于正常的屏幕尺寸)但密度不同(里面的pic.png 与里面drawable.ldpi的 pic.png 具有相同的宽度和高度drawable.mdpi但密度不同)? 问题是每个屏幕尺寸可能包括三种密度(大屏幕可能是 ldpi、mdpi 或 hdpi)。 .如何同时在尺寸和密度的基础上设计图像? 谢谢你。

0 投票
1 回答
656 浏览

android - 对设计布局和图像以适合多个屏幕的图形设计师有何建议?

我已在此处阅读了有关支持多个屏幕的 Android 开发人员指南...

http://developer.android.com/guide/practices/screens_support.html

...而且我从开发人员的角度理解,满足大多数屏幕的最简单方法是拥有三组可绘制对象和布局(ldpi、mdpi、hdpi),并在布局文件中使用相对定位并指定高度、宽度等密度无关像素。

我将让图形设计师设计我的屏幕和单个按钮、图像等,他们将为高密度屏幕 (240dpi) 进行设计,然后将图形缩小 1.5 用于中等密度屏幕 (160dpi),缩小 2 用于低密度屏幕(120dpi)。这是最好的方法吗?如果有的话,我可以建议他/她设计屏幕的高度和宽度吗?

0 投票
1 回答
67 浏览

android - 寻找演示不同屏幕的可绘制对象的示例应用程序

任何人都知道我在哪里可以找到一个体面的示例应用程序(特别是资源文件夹),它演示了图像(图标等)在不同屏幕上的使用?

0 投票
2 回答
442 浏览

android - 多屏支持大屏和小屏

好的,我已经阅读了很多关于此的章节,但我仍然不知道为这个项目做的最好的事情是什么。

这是我有一个项目 [big one :)] 的情况,在这个项目中,一切都是针对分辨率为 480 x 800 像素的屏幕完成的。

这是新要求:)。他们要求支持分辨率为 240 x 320 像素的设备(此分辨率为小布局)。到目前为止一切都很好:),但问题是 240x320 的分辨率太小,无法仅通过缩放布局正常来适应组件。我需要对小屏幕手机进行全新的设计。

这意味着如果我现在在 layout-small/main.xml 中的 layout/main.xml 中有文本提交 R.id.textview1 我将没有 R.id.textview1 但我现在将有两个组件让我们说 R.id .button1 和 R.id.textviewsmall ...我的意思是这样的代码将不起作用,因为在 layout/main.xml 中 textview1 存在,但在 layout-small/main.xml 中不存在,它会抛出异常

当然,这是我所解释的非常愚蠢的场景,我有一些非常复杂的事情,但我希望你明白我想要实现的目标。

问题是实现片段为时已晚,因为需要完成大量工作。所以我需要一些指导方针,我应该如何做到这一点......

任何想法或一些设计指南都会有很大帮助,谢谢...

0 投票
1 回答
264 浏览

android - 如何缩小多个屏幕的图像?

如果我在 Adob​​e Illustrator(例如)中为高密度屏幕设计了 240 x 240 像素的图像,每英寸 240 点用于高密度屏幕,那么保存该图像版本用于中等密度屏幕的最佳方法是什么?我应该将图像保持在 240 x 240 像素并将每英寸点数减少到 160 吗?还是将图像保持在每英寸 240 点并将其缩小到 160 x 160 像素?还是其他变种?!

0 投票
1 回答
688 浏览

android - 让安卓手机屏幕闪烁不同的颜色

我正在使用 Google C2DM 服务创建一个带有推送通知警报的应用程序。如果手机屏幕变暗,我可以在推送通知事件中以某些颜色闪烁手机屏幕吗?

0 投票
1 回答
3463 浏览

android - 7" 平板电脑和 7" 平板电脑模拟器上的 DP 计算问题

我在计算 7 英寸平板电脑(800x480 像素)的 dp 时遇到了一些问题。以下是我的计算方式。找不到我在计算中或我的想法中出错的地方:

我正在测试三种设备:

  1. Nexus One:800x480 像素,3.7 英寸显示屏(规格
  2. 华为 Ideos:320x240 像素,2.8 英寸显示屏(规格
  3. Ainol Novo 7" 平板电脑:800x480px,7" 显示屏(规格

根据显示尺寸,我根据公式手动计算 DPI(每英寸点数):

所以我得到:

  1. Nexus One:sqrt(800*800+480*480)/3.7 = 252.15dpi
  2. 华为理念:sqrt(320*230+240*240)/2.8 = 142.86dpi
  3. Ainol Novo 7" 平板电脑:sqrt(800*800+480*480)/7 = 133.28 dp

现在我想输出屏幕指标的 dpi 值,并在此基础上输出以 dp 为单位的屏幕宽度和高度(与密度无关的像素)。我的代码是:

结果如下:

  1. Nexus One:缩放密度:1.5,密度 DPI:240,dp 宽度:533,dp 高度:320
  2. 华为 Ideos:ScaledDensity:0.75,Density DPI:120,dp 宽度:426,dp 高度:320
  3. Ainol Novo 7" 平板电脑:ScaledDensity:1.0,Density DPI:160,dp 宽度:800,dp 高度:480

我从活动中的 java 代码获得的密度 DPI 与我计算的 dpi 值不同,并且显然被 Android 舍入为值 120、160 或 240 之一,这很正常。到目前为止没有问题。

问题/问题1:

使用第三个设备,Novo 7" 平板电脑:据说 ScaledDensity 是 1.0,据说 dp 中的宽度是 800,与像素数相同。但是,事实并非如此;当我创建全屏应用程序时并在那里放置一个视图,实际上只有 533dp x 320dp 的视图适合屏幕。所以它与 Nexus One 的 dp 测量值相同;即使 Nexus One 具有更高的 DPI 值但像素数相同。如何那可能吗?

问题/问题2:

我为模拟器创建了一个 AVD,其精确测量值与 Novo 7" 平板电脑相同。我的 java 代码中的日志行显示的值与真实平板电脑设备的值相同:

  1. Ainol Novo 7" 平板电脑模拟器:ScaledDensity: 1.0, Density DPI: 160, width in dp: 800, height in dp: 480

但是,在模拟器上,我可以放置一个580dp x 320 dp 的视图,以便在全屏活动中完全可见。仿真器和具有完全相同测量值的真实设备之间的宽度 dp 怎么可能不同?

在此处输入图像描述

问题/问题 3:

http://developer.android.com/guide/practices/screens_support.html它说:

帮助您针对不同类型的一些设计

设备,以下是一些典型屏幕宽度的数字:

...

480dp:像 Streak (480x800 mdpi) 这样的补间平板电脑。

600dp:7 英寸平板电脑 (600x1024 mdpi)。

...

我认为我的平板电脑应该属于这些类别之一,但是,它既没有 480 宽度也没有 600 dp 宽度,而是介于两者之间;就我而言,是 533dp(真实设备)或 580dp(模拟器)。

如果是这种情况,那么这样的“典型屏幕宽度”概述有什么好处,如果实际上似乎并非如此,但来自不同供应商的设备可以在标准设备之间有任何其他随机值?然后我可以继续使用像素值,因为使用 dp 的全部好处似乎不存在。