Android中的应用名称和主要活动标题可能有所不同?

时间:2015-12-07 08:32:32

标签: android

是否可以拥有不同的应用名称和主要活动标题?

我曾尝试更改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>

4 个答案:

答案 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”的字符串。