我有7英寸平板电脑和10英寸平板电脑,sw600dp和sw720dp的限定条件。我不明白这些数字是如何达到的。
我想为屏幕尺寸小于4英寸的手机创建新的布局。请问您能解释我应该如何使用最小的宽度限定符。
答案 0 :(得分:4)
请先查看官方文档的"Configuration example"部分。它很好地解释了使用的内容和时间。在您的情况下,没有限定符的默认布局文件夹用于手机。
什么是最小宽度限定符?最小的宽度是
屏幕的基本尺寸,如最短的指示 可用屏幕区域的尺寸。具体来说,设备的 smallestWidth是屏幕可用高度的最短值 宽度(您也可以将其视为“最小可能宽度”) 屏幕)。
例如,您的手机屏幕尺寸等于480x800 dp。该器件的最小宽度将是这两者的最小值,即480dp。如果您旋转设备,最小值将保持不变 - 480dp。
如何使用最小宽度限定符?当你创建一个布局时,你总是希望有一个最小宽度,并且它的swill看起来很好。低于此最低限度,您的布局会受到挤压,看起来不太好。为了确保不会发生这种情况,当N为最小允许宽度时,您将其放在具有sw<N>dp
限定符的文件夹中。
值得一提的是,因为最小宽度不取决于方向,所以您应该通过使用land
或port
限定符自行处理横向和纵向方向。虽然这种方法有效,但很快就会处理不同的宽度和方向。为解决此问题,还有另一种称为响应式移动设计的方法。我建议阅读一系列文章"Deep dive into responsive mobile design"以便更好地理解。
<强>更新强>
从px计算dp的公式如下:
dp = px /(ppi / 160dp)
Nexus 7采用sw-600dp,因为所有计算均基于设备中编码的getResources().getDisplayMetrics().density
值。这不是真正的价值,而是舍入值。对于Nexus 7(2013),实际值为323/160 = 2.01875。设备中编码的值为2,对应sw-600dp。这是一些像素丢失的地方。
答案 1 :(得分:-2)
sw600dp表示密度为600dp的最小屏幕宽度。但是让我告诉你,你需要更多,因为Nexus 7(2012)和Nexus 7(2013)都是7英寸平板电脑,但密度不同。您可以使用sw600dp添加hdpi或xhdpi,例如值-sw600dp-hdpi。对于手机执行相同的swXXXdp,但尽量不这样做,并使用像small,normal,large和xlarge这样的屏幕大小。 有关参考,请参阅Android official link