gpt4 book ai didi

android - 如何以编程方式将项目添加到 xml?

转载 作者:行者123 更新时间:2023-11-29 01:45:35 25 4
gpt4 key购买 nike

我尝试将项目添加到包含以下项目的 xml 中:

<item android:id="@+id/home3" android:title="Home" android:icon="@drawable/home"></item>
<item android:id="@+id/home3" android:title="Home2" android:icon="@drawable/home2"></item>
<item android:id="@+id/home3" android:title="Home3" android:icon="@drawable/home3"></item>

我想以编程方式(动态地)添加到这个 xml。

最佳答案

取决于您谈论的是什么 XML。一些事情:

  • 您不能在运行时添加资源。
  • 您不能在运行时更改 AndroidManifest

但是,我认为重要的部分是为什么您要这样做。我猜您正在尝试从同一代码库构建不同的 APK。而您可以做到!资源、AndroidManifest,甚至类都可以在构建时换出!

答案是product flavors .要实现它们,您需要做两件事:

  1. 将新资源添加到项目中的特定目录中。
  2. 将这些风格添加到您的 build.gradle 文件中。

第 1 步:添加要交换的文件

这是一个示例应用程序布局。还有其他我没有包含的目录,因为不需要它们来表达我的观点:

├─ app
│ ├─ src
│ │ └─ main
│ │ ├─ java
│ │ │ └─ com/example/project
│ │ ├─ res
│ │ └─ AndroidManifest.xml
│ │ └─ productFlavor
│ │ ├─ java
│ │ │ └─ com/example/project
│ │ ├─ res
│ │ └─ AndroidManifest.xml
│ ├─ build.gradle

您不必在每种风格中都包含所有目录。正如资源会在不存在的情况下“掉落”到下一个最好的资源一样,产品口味的工作方式相同。

因此,如果我有调试或付费产品风格,如果我希望它们相同,则不必包含不同的启动器图标。仅当我希望它们不同时。

第 2 步:定义产品口味

改变你的 build.gradle 看起来像这样。您几乎可以覆盖 defaultConfig 中可用的任何选项——甚至可能更多。我还没有突破极限:

android {
defaultConfig {
applicationId 'com.example.project'
versionCode 4
versionName '4.0'
}
productFlavors {
project1 {
applicationId 'com.example.project1'
versionCode 1
versionName '1.0'
}
project2 {
applicationId 'com.example.project2'
versionCode 2
versionName '2.0'
}
}
}

关于android - 如何以编程方式将项目添加到 xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21724683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com