这张照片基本上都说明了一切。我一直在做的是手动为单个初始布局文件中的各种设备和屏幕分辨率创建不同的布局类型,重新格式化,同时我无情地复制和粘贴,直到我的拇指飙升,即默认,-sw480dp,-large, - xlarge等取决于我的应用程序的需求。例如,通过-sw720dp添加对-sw480dp的支持已经允许我的一些旧手机的朋友打开我的应用程序而没有某种NullPointerException阻止他们甚至根本使用它。但是,这有时非常繁琐,尤其是在您希望同时显示在其他所有版本中的一个布局文件中进行更改时。最重要的是,更多支持的设备意味着更积极的评论,并且随着时间的推移,您的应用程序的冗余负面评论会更少。
所以现在我的问题是我想支持所提供的屏幕截图中显示的突出显示的布局的所有这些布局,但我真的不想再做我为comment_listview_item
所做的事情了。
我从未在设计机构与全职Android开发人员的同事一起工作过,而且我还没有找到关于这个主题的好教程。据我所知,无论什么过程可以想象自动完成我想在这里完成的事情都是一个谜。
通过从提供的屏幕截图中突出显示的布局开始,我能做些什么可以自动化以下面的方式创建新布局文件的过程吗?我拒绝相信这个过程真正涉及我目前全神贯注的所有复制粘贴和重新格式化。干杯。
答案 0 :(得分:1)
您真的不需要为每个布局创建所有这些xml文件。有趣的是Android会根据设备自动调整屏幕大小。但是,如果屏幕太小或分辨率太低,那么您的xml内容可能无法在此类设备中正确显示。为了确保您的工作精确,您可以简单地为小型,大型和超大屏幕创建布局。如果您还想调整横向模式,则可能需要创建另一个xml。此链接可以帮助您:https://developer.android.com/guide/practices/screens_support.html#support
答案 1 :(得分:1)
我发现为每个大尺寸类别(小型,中型,大型,x大型)创建4个版本的布局并允许Android系统处理其余部分并不能真正全面发挥作用。
除了使用权重之外 - 如果使用2到3层,嵌套权重不应成为性能问题 - 您可以使用在运行时获取的设备屏幕宽度和高度的百分比来动态缩放片段和查看组件。我稍后会发布一个代码示例。