android - 在 Android Studio 中更改多个(非常)相似的文件
问题描述
当针对一系列 API 版本时,我经常不得不创建我的布局文件的新版本,它们只有几行不同,因为它们使用了仅在某些版本中可用的属性。
例如,如果我想在 API 级别 26+ 上使用 s的android:autofillHints
属性,我必须复制整个布局文件。EditText
这使得更改非常耗时。如果我决定添加一个按钮或更改一些间距的大小,我必须调整我所有的布局文件。
如果我只有两个文件,我可以使用比较视图 (Ctrl + D) 快速更改两个文件。然而,在更复杂的项目中,我偶尔会有三个或四个版本的布局文件,它们之间只有细微的差别。
是否有一些明显的方法来管理我遗漏的问题?因为否则,在开发针对广泛 Android 版本和设备配置的大型应用程序时,这种花哨的“配置覆盖机制”似乎是一场噩梦。
解决方案
android文档指定如何重用/嵌套布局
基本上归结为 使用
<include layout="@layout/layoutToNest"/>
嵌套布局
并使用合并来避免重新指定根布局
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<layoutElementToNest/>
<layoutElementToNest2/>
</merge>
在您的 xml 中以方便布局重用和嵌套。
还要确保使用布局优化技术,如 android lint 以确保您的布局得到优化
推荐阅读
- rx-java2 - 如何从其他类型的地图返回对象?
- c++ - 为什么 `std::enable_if` 需要默认值?
- angular - 从角度存储中按 id 选择元素
- typo3 - 打字稿将每个第 4 个元素添加一个 div
- python - Pythonic 多态参数
- java - 如何克服java中println zoo中的错误
- c++ - 如何使用 openssl 获取 AES-CCM 解密的标签信息
- json - 插入一个大的字符串 JSON 作为突变 GRAPHQL 的输入
- spring - 创建名为“inMemoryDatabaseShutdownExecutor”的 bean 时出错:
- sql - SQL。如何使用循环?PostgreSQL