代码之家  ›  专栏  ›  技术社区  ›  Tobias Uhmann

在android studio中更改多个(非常)相似的文件

  •  1
  • Tobias Uhmann  · 技术社区  · 6 年前

    当针对一系列的api版本时,我常常不得不创建布局文件的新版本,这些文件只有几行不同,因为它们使用的属性仅在某些版本上可用。

    例如,如果要使用 android:autofillHints 属性 EditText 在API级别26+上。

    这使得更改非常耗时。如果我决定添加一个按钮或改变一些间距的大小,我必须调整我的所有布局文件。

    如果我只有两个文件,我可以使用比较视图(ctrl+d)在两个文件中快速进行更改。但是,在更复杂的项目中,我偶尔会有三个或四个版本的布局文件,它们之间的差别很小。

    有什么明显的方法来解决我遗漏的问题吗?因为否则,当开发针对各种Android版本和设备配置的大型应用程序时,这种奇特的“配置覆盖机制”似乎是一场噩梦。

    1 回复  |  直到 6 年前
        1
  •  1
  •   kkarakk    6 年前

    这个 android documentation specifies how to reuse/nest layouts
    基本上可以归结为使用

    <include layout="@layout/layoutToNest"/>
    

    嵌套布局
    使用merge避免重新指定根布局

    <merge xmlns:android="http://schemas.android.com/apk/res/android">
    <layoutElementToNest/>  
    <layoutElementToNest2/>
    
    </merge>
    

    以便于布局重用和嵌套。

    也一定要用 layout optimising techniques 像android lint一样,确保您的布局得到优化