调整android中的视图大小以用于自定义设备

时间:2013-12-03 09:37:15

标签: android layout view size

我有3个定制的Android设备。 第一个有5英寸屏幕,1280x800 res 其次是5英寸屏幕,800x480分辨率 第三个是7英寸屏幕,800x480 res

我尝试使用dp,px和英寸给出尺寸,但似乎他们无法正确支持这些屏幕具有相同的值(即使英寸似乎不是精确的英寸,但最终转换为px)。

如何使用相同的代码相对于屏幕尺寸正确调整视图大小?

1 个答案:

答案 0 :(得分:1)

首先,要使用的正确度量单位是:dp表示控件,sp表示字体 这些通常用于边距,填充,宽度,高度和其他属性 xml drawables也可以利用像素独立性

在res / value / dimens.xml文件中定义维度(这是一个PROPOSED标准名称,您可以随意调用它),以便从所有代码中引用它们,而不是硬编码并经常重复许多文件。

然后你必须知道你应该以 mdpi 分辨率( 160 dpi )提供你的图形,它将按比例放大或缩小以匹配其他分辨率。

请注意,我说至少 对于您支持的每个分辨率,您应该在res路径中添加一个文件夹,其中包含该分辨率的相应密度的图形。

这意味着你将拥有,让我们说3分辨率mdpi,hdpi和xhdpi(今天的最爱,不包括平板电脑 - 这些应该自己配备一些文件夹):

图形进入:
RES /抽拉-MDPI
RES /抽拉-HDPI
RES /抽拉-xhdpi

只需将图形(使用相同名称)分别在这些目录中使用dpi密度为160,240,320。

现在您的图形符合分辨率。


现在,我没有意识到问题到底是什么 我的意思是,背景不合适吗?然后解决方案是使用平铺或“足够抽象”可伸展图片。
或者您可以使用 9个补丁,以及

如果问题是字体和其他对象如何相互交互,则应始终引用mdpi设备(如果您没有物理设备,则甚至可以模拟)。当事物在mdpi设备上很好地扩展时,它们假设可以在每个设备上很好地扩展 特别是对于平板电脑,您应该为值提供特定的文件夹(放置包含尺寸的dimens.xml文件的位置) 这些文件夹通常具有 values-sw600dp values-sw720dp-land 等名称。后缀land表示横向模式,粒子sw ### dp表示最小尺寸(宽度或高度),所以,我想在你的情况下,你可以准备一些名为 values-sw480dp 和<的文件夹strong> values-sw480dp-land 在那里你可以放置你的dimens.xml文件,其中包含特定设备的特殊尺寸。

我想只提供非土地文件夹就足够了。