Android布局限定符

时间:2018-03-05 21:59:20

标签: android android-layout

我目前正在处理一个必须支持不同屏幕尺寸的应用程序。我通过documentation阅读了这篇文章并决定使用最小宽度限定符创建不同的布局。文件说明:

  

smallestWidth - About to run script with list argument: T/F. True Exception in thread Thread-1: Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\threading.py", line 916, in _bootstrap_inner self.run() File "C:\ProgramData\Anaconda3\lib\threading.py", line 864, in run self._target(*self._args, **self._kwargs) TypeError: scr_runner() takes 1 positional argument but 3 were given 最小宽度是设备的固定屏幕尺寸特征;当屏幕方向改变时,设备的smallestWidth不会改变。

     

可用宽度 - sw<N>dp 当横向和纵向之间的方向发生变化以匹配当前实际宽度时,此配置值将发生变化。

我这样做了,一切都很好,但我有点困惑:由于device metrics,Google Pixel的最小宽度应为411 dp。在我的应用程序中,我使用w<N>dp限定符创建了一个布局,但是当我从Android Studio布局编辑器中选择Pixel设备时,它总是打开没有限定符的普通布局。

我还尝试通过AVD管理器为Galaxy S6(360 dp)创建自己的硬件配置文件,但它面临同样的问题。我在这里想念一些东西吗?

我也不太了解documentation中的这张图片。我该如何阅读?不推荐使用sw480dpsmall等限定符,那么为什么它们会在那里或仅用于转换?

enter image description here

1 个答案:

答案 0 :(得分:1)

  

在我的应用程序中,我使用sw480dp限定符创建了一个布局,但是当我从Android Studio布局编辑器中选择Pixel设备时,它总是打开没有限定符的普通布局。

411小于480.因此,-sw480dp不是有效的限定符。

  

我在这里错过了什么吗?

NNN中的-swNNNdp值是下限,而不是上限。宽度最小NNNdp 或更大的设备将使用-sw480dp

  

我如何阅读?

我不知道图像应该传达什么信息。