是否可以拥有不同的应用名称和主要活动标题?
我曾尝试更改manifest
文件,以找到setTitle()
之类的ActionBar
,但预期结果不会发生。我认为这个字符串必须相同,不是吗?
任何人都可以告诉我这件事,如果可以的话,请告诉我该怎么做?谢谢!
来自的更新:代码段
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.myname.appname"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
<activity
android:name=".activities.HomeActivity"
android:label="@string/title_home_activity"
android:configChanges="orientation"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".activities.SettingsActivity"
android:label="@string/title_activity_settings">
</activity>
<activity android:name=".activities.DetailsPageActivity"
android:parentActivityName=".activities.HomeActivity"
android:label="@string/title_activity_details"
android:configChanges="orientation"
android:screenOrientation="portrait">
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activities.HomeActivity" />
</activity>
</application>
</manifest>
答案 0 :(得分:3)
是的,您可以通过在manifest.xml
中进行配置来使这些不同,您的应用名称取决于android:label
标记中的此属性application
,如下所示:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme"
android:label="@string/app_name" > <!--application name-->
ActionBar标题取决于android:label
标记中的activity
,如下所示:
<activity
android:theme="@style/AppTheme"
android:name=".MainActivity"
android:label="@string/activity_name" > <!--actionbar title-->
因此,如果您将两个属性设置为不同的字符串,它们将是不同的。
考虑一下你的情况,你可以试试这个:
<activity
android:theme="@style/AppTheme"
android:name=".MainActivity"
android:label="@string/activity_name" > <!--actionbar title-->
<intent-filter android:label="@string/activity_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 1 :(得分:1)
由于单个应用程序具有针对不同用途的多个活动,并且每个活动都有自己的操作栏,该操作栏表示有关活动的标题标题,因此是不同的应用程序和活动标题。要设置活动的标题,您可以在活动的setTitle()
内或任何您想要的地方在运行时调用oncreate
。
对于应用程序名称,您可以在应用程序标记下添加android:label="@string/app_name"
,并在值中指定app_name
字符串。
(android:label="@string/Activity_name")
中活动代码下的同一行manifest file
获取该特定活动的操作栏标题。
答案 2 :(得分:1)
实现此目标的另一种方法是-通过MainActivity.Java设置活动名称,通过AndroidMainfest.xml设置应用名称
注意-从手机中卸载当前apk,然后重新安装以更改应用名称
Main Activity.Java(将此代码放入 onCreate 方法中)
this.setTitle(getResources()。getString(R.string.activity_name));
AndroidManifest.xml(注意 android:label 属性)
<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" android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Strings.xml
<resources>
<string name="app_name">Enter Name Here</string>
<string name="activity_name">Enter Name Here</string>
答案 3 :(得分:0)
也许你可以改变资源文件中的标题。在android studio中,它位于app / res / values / strings.xml中。通常有一个名为“app_name”的字符串。