android - 如何为较小的屏幕尺寸创建布局文件夹?
问题描述
我正在更新一个遗留项目,我需要为更小的屏幕尺寸创建额外的布局文件。过去,在为各种屏幕尺寸创建多个版本的布局时,我将最小屏幕尺寸的布局放在基本布局文件夹中,并创建具有最小宽度限定符的辅助布局文件夹以支持更大的屏幕尺寸。
例如:
res/layout //base layouts
res/layout-sw720dp //layouts for screen with at least 720dp width
但是,我一直无法找到一种方法来处理相反的情况,即我已经在基本布局文件夹中拥有较大屏幕尺寸的布局,并且我想要一个用于较小屏幕尺寸的新布局文件夹。我希望找到一个“最大宽度”限定符,但它似乎不存在。
如果我必须为较小的屏幕尺寸更新每个布局,那么我只需将较大的屏幕布局移动到具有最小宽度限定符的文件夹,并将较小的屏幕尺寸布局添加到基本布局文件夹,但我只需要更新 10%较小屏幕尺寸的布局。
解决方案
我已将最小屏幕尺寸的布局放在基本布局文件夹中,并创建了具有最小宽度限定符的辅助布局文件夹以支持更大的屏幕尺寸。
对于您的原始场景和新场景,这是正确的方法。更具体地说,您的“辅助布局文件夹”将仅包含您需要根据较大的屏幕尺寸更改某些内容的布局。其他一切都只会在res/layout/
.
我希望找到一个“最大宽度”限定符,但它似乎不存在。
正确的。
如果我必须为较小的屏幕尺寸更新每个布局,那么我只需将较大的屏幕布局移动到具有最小宽度限定符的文件夹中,但我只需要为较小的屏幕尺寸更新 50 个左右布局中的 5 个。
对不起,但你真的别无选择。res/layout/
需要保留每个布局的一份副本,设置为您要支持的最小屏幕尺寸。对于需要针对这些较大屏幕尺寸进行更改的特定布局,您可以覆盖较大的屏幕尺寸。
没有办法说它res/layout/
在屏幕尺寸范围的中间,并且您想要覆盖较小的尺寸以及较大的尺寸。
推荐阅读
- excel - 在具有不同权重的两组之间分配数字
- sas - 有没有办法在 SAS 评论周围创建一个星号框?
- auth0 - 即使删除后,相同的 gmail 帐户在 Auth0 中也具有相同的用户 ID
- reactjs - 为什么在 React 的 componentDidMount 中订阅了浏览器 api 事件?
- javascript - 如何使用 Express 更改 MongoDB 中的嵌套属性?
- pdf - iText7 / iText7.pdfhtml - 从 HTML 生成可访问的标记 PDF 导致不正确的选项卡顺序
- linux - 我们如何在剧本中使用编码值并在ansible剧本中需要时对其进行解码?
- python - 为什么递归次数 9 小于递归限制?
- c# - 在中文服务器上生成 PDF 期间的中文本地化会导致打印块
- java - 如何在 jmeter 中使用 csv 文件实现多个 http 请求?