gpt4 book ai didi

Android Studio 有 2 个用于同一 Activity 的布局 Activity 文件。有必要吗?如何为所有较新的 SDK 版本保留 1 个文件?

转载 作者:搜寻专家 更新时间:2023-11-01 09:22:09 29 4
gpt4 key购买 nike

在我的项目中,我有一个名为“marquee”的 Activity 。然而,出于某种原因,在“布局”的子文件夹中有 2 个文件与该 Activity 相关联。我不记得成功了。它为什么在这里?我一直在浪费时间更改“activity_marquee.xml”中的代码,但没有任何改变,因为我的手机只会使用以某种方式创建的“activity_marquee.xml (v26)”。如何确保所有手机都使用相同的“activity_marquee.xml”?我将如何删除不必要的?如果我删除其中一个,则同时删除两个,甚至包含这 2 个 Activity 的文件夹也会被删除。

我尝试将 minSdkVersion 和 targetSdkVersion(在 build.gradle 中)更改为不同的值,希望只保留 1 个 Activity ,但 (v26) 仍然存在。我还尝试添加到 AndroidManifest.xml 并更改最小、目标和最大 sdk 版本,但两个文件都保留了下来。

https://i.imgur.com/qrPoPHv.png (链接到图片,因为我还没有 10 个声誉来发布它)

build.gradle:

android {
compileSdkVersion 28
defaultConfig {
applicationId "(removed)"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".MarqueeActivity">
</activity>
</application>

我只想为每个 Activity 使用 1 个布局文件,并让它在所有更高级别的 android API 上工作。我在 2 周前根据教程制作了另一个应用程序,我不必更改 2 个文件中的布局。如果可能的话,我也想在这里。

最佳答案

你需要了解resource qualifiers的概念.您可以为不同的设备设置提供不同的资源。这最常用于不同的图像分辨率或翻译,例如通过拥有一个“values”和一个“values-de”(德语的 de)文件夹,它们都包含一个 strings.xml 文件。您的应用程序将始终选择与您的手机配置匹配的最具体的资源。假设我将手机设置为德语,应用程序将在 values-de 文件夹中查找资源。否则它将回退到默认值文件夹。

如果您的两个布局文件相同,您只需将其从 layout-v26 文件夹中删除即可。如果该文件夹不包含任何其他文件,您可以将其完全删除。

If I delete either one, both of them, and even the folder that contains the 2 activities gets removed.

实际上,这两个文件在不同的文件夹中。但是如果您在项目资源管理器中选择了默认的“Android” View ,Android Studio 会将它们显示为就好像它们在同一个 View 中一样。如果将 View 切换到“项目”,您会看到它们位于不同的文件夹“res/layout”和“res/layout-v26”中。

enter image description here

关于Android Studio 有 2 个用于同一 Activity 的布局 Activity 文件。有必要吗?如何为所有较新的 SDK 版本保留 1 个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54041018/

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