更改应用名称

时间:2017-01-02 21:30:03

标签: android

注意:我读过有关更改应用名称的帖子。我的应用程序的标签应该是正确的,但它不是。

我有一个我制作的Android应用程序。 它由不同的活动组成。 但是当我下载我的应用程序时,它被称为“登录”。不应该是这种情况,我希望它被称为其他东西。我怎样才能做到这一点?

这是我的清单文件:

....
<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
        </activity>

        <activity
            android:name=".LoginActivity"
            android:label="@string/title_activity_login">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

和我的字符串文件:

<resources>
    <string name="app_name">Exigentia</string>
    <string name="action_settings">Settings</string>
    <string name="EmergencyButton">EmergencyButton</string>
    <string name="title_activity_login">Sign in</string>

    <!-- Strings related to login -->
    <string name="prompt_email">Email</string>
    <string name="prompt_password">Password (optional)</string>
    <string name="action_sign_in">Sign in or register</string>
    <string name="action_sign_in_short">Sign in</string>
    <string name="error_invalid_email">This email address is invalid</string>
    <string name="error_invalid_password">This password is too short</string>
    <string name="error_incorrect_password">This password is incorrect</string>
    <string name="error_field_required">This field is required</string>
    <string name="permission_rationale">"Contacts permissions are needed for providing email
        completions."
    </string>
</resources>

那么为什么我的应用程序显示“登录”作为其名称,而不是Exigentia?

注意:这是在我点击我的应用并启动它之前。一旦启动,登录应该在顶部

3 个答案:

答案 0 :(得分:1)

根据App Manifest的<activity> label属性:

  

活动的用户可读标签。当必须向用户表示活动时,标签显示在屏幕上。它经常与活动图标一起显示。

     

如果未设置此属性,则使用整个应用程序的标签集(请参阅&lt; application&gt;元素的标签属性)。

应用程序可以有多个活动表示的多个入口点。例如,您希望创建一个应用程序,该应用程序在用户的手机上同时具有教师和学生入口点,而无需他们安装多个应用程序。这也意味着您可以分别为活动分配不同的标签,例如教师学生

基本上,当您使用单个主要活动创建应用时,只需将应用名称放在&lt; application&gt;上即可。标签和主菜单中的图标将具有该标签。显然,对于多个Activity入口点,这不会很好,因此您可以选择逐个覆盖它。

我认为您希望实现标签显示在应用栏上(操作栏,工具栏,您可以命名)。这应该通过将标签放在布局XML中的应用栏上或使用代码来完成,例如getSupportActionBar().setTitle(R.string.title_activity_login);

答案 1 :(得分:0)

您的应用中是否有翻译?这可能是问题,因为android显示本地字符串(如果存在)。如果您有翻译,请确保已更改所有strings.xml文件中的app_name字符串。确保您有翻译的有保证的方法是转到您的项目目录,看看“... \ app \ src \ main \ res”下是否有多个“值”文件夹,如“values-en”,“values- de“等。

答案 2 :(得分:0)

无需在所有活动标签中添加标签。尝试下面的一个:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <activity android:name=".MainActivity"
       android:theme="@style/AppTheme.NoActionBar" />

    <activity android:name=".LoginActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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