Android 布局设计:layout.xml vs dimens.xml
Android layout design: layout.xml vs dimens.xml
我是新手 android 开发人员。最近我正在阅读 Google 提供替代资源以支持不同屏幕尺寸的规范。
https://developer.android.com/training/multiscreen/screensizes.html
我知道我们可以提供带有特定限定符的资源目录来实现这一点,
例如layout-sw320dp/layout.xml
,layout-sw480dp/layout.xml
,layout-sw600dp/layout.xml
.
同时,我还发现一些开发人员在 values
文件夹中创建各种 dimens.xml
具有不同屏幕尺寸限定符,
例如values-sw320dp/dimens.xml
, values-sw480dp/dimens.xml
, values-sw600dp/dimens.xml
.
我想知道哪种方法更适合维护布局。我的直觉告诉我,如果我通过不同的 layout.xml
来控制屏幕尺寸渲染。然后我不需要使用 dimens.xml
来适应不同的屏幕尺寸。这是一个正确的想法吗?
如果唯一改变的是大小,您应该使用 dimens.xml。如果要更改实际视图,则应使用 layout.xml。
为什么?因为维修。如果在 3 个月后您决定要更改视图的背景颜色并且您有 4 个布局文件,则需要在 4 个地方进行更改。最终你会忘记一个。如果你正确使用dimens,你只需要改变1处。
尽可能使用维度。
我是新手 android 开发人员。最近我正在阅读 Google 提供替代资源以支持不同屏幕尺寸的规范。
https://developer.android.com/training/multiscreen/screensizes.html
我知道我们可以提供带有特定限定符的资源目录来实现这一点,
例如layout-sw320dp/layout.xml
,layout-sw480dp/layout.xml
,layout-sw600dp/layout.xml
.
同时,我还发现一些开发人员在 values
文件夹中创建各种 dimens.xml
具有不同屏幕尺寸限定符,
例如values-sw320dp/dimens.xml
, values-sw480dp/dimens.xml
, values-sw600dp/dimens.xml
.
我想知道哪种方法更适合维护布局。我的直觉告诉我,如果我通过不同的 layout.xml
来控制屏幕尺寸渲染。然后我不需要使用 dimens.xml
来适应不同的屏幕尺寸。这是一个正确的想法吗?
如果唯一改变的是大小,您应该使用 dimens.xml。如果要更改实际视图,则应使用 layout.xml。
为什么?因为维修。如果在 3 个月后您决定要更改视图的背景颜色并且您有 4 个布局文件,则需要在 4 个地方进行更改。最终你会忘记一个。如果你正确使用dimens,你只需要改变1处。
尽可能使用维度。