Android应用名称未显示

时间:2011-08-26 04:11:14

标签: android

我的Android应用未显示应用名称“app_name”,而是显示活动名称“title”。这来自我的清单文件;

   <application android:icon="@drawable/icon" android:label="@string/app_name">
   <activity android:name=".Main"
              android:label="@string/title">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

为什么应用程序从Main活动中获取其名称并忽略Application标签?

这是完整的清单

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.extempor.cheetah"
     android:versionCode="1"
     android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".Main"
              android:label="@string/title">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".InfoHelp"
              android:label="@string/titleInfo">
        <intent-filter>
            <action android:name="android.intent.action.HELPINFO" />
            <category android:name="android.intent.category.DEFAULT" />

        </intent-filter>
    </activity>
    </application>
    <uses-sdk android:minSdkVersion="10" />

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

    </manifest> 

13 个答案:

答案 0 :(得分:21)

这个问题向我解释了这个原因:

Naming my application in android

启动器实际上显示了android:label和android:icon,用于声明:

的活动
<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

所以申请标签没用。

答案 1 :(得分:6)

您一次只能显示一个标签。申请标签或活动标签。

如果您设置标签并运行活动,您将看到活动标签。

要查看应用程序标签,请勿在主要活动上设置android:label="@string/title"

答案 2 :(得分:5)

我有同样的问题,解决方案对我来说:

MainActivity.java上的

更改:

public class MainActivity extends Activity {...}

public class MainActivity extends AppCompatActivity {...}

答案 3 :(得分:4)

您只需将启动器活动标签设置为应用名称,然后在该活动的代码中手动设置actionBar标题

getSupportActionBar().setTitle(R.string.title_user_login);

当然,如果您使用的是操作栏。无论如何,正常活动标题标题都很难看!

编辑:说你可以在启动时看到文字更改!

答案 4 :(得分:3)

即使我注意到了同样的情况,似乎是一个错误! 你应该把它报告给谷歌:)

答案 5 :(得分:2)

你需要

public class MainActivity extends AppCompatActivity {.....}

如果你无法扩展AppCompatActivity,那么你也可以添加下面代码的最后一行来显示栏中的标题..

   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setTitle("the name i want to appear");

答案 6 :(得分:1)

你应该替换

<activity android:name=".Main"
          android:label="@string/title">

<activity android:name=".Main"
          android:label="@string/app_name">

答案 7 :(得分:1)

使用

this.setTitle("");

在您的活动的onCreate()方法中,并使用@ string / app_name中的首选应用程序名称

<application> android:lable = "@string/app_name" </application>

答案 8 :(得分:1)

如果您或某人仍然面临问题,那么这里的解决方案对我有用。

将清单中的应用程序标签和主要活动标签保持相同,如下所示

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
          android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
在main.java文件中

设置活动的标签,如下所示(我猜你正在使用操作栏)

ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(getResources().getString(R.string.title));

在安装此更改的应用程序之前,卸载以前的版本重新启动手机,然后安装已更改的应用程序。

我希望这会有所帮助。

答案 9 :(得分:1)

如果您使用的是Android Studio,那么您应该扩展AppCompatActivity,然后才会显示Activity。

示例代码: 主要活动:公共类MainActivity扩展AppCompatActivity

Styles.XML

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

答案 10 :(得分:1)

如果您使用的是Android Studio,那么您也在使用MapsActivity,那么您应该扩展ActionBarActivity,同时将应用程序名称放在String.xml中。它对我有用。谢谢

<resources>
<string name="app_name">App Name</string>
<string name="title_activity_maps">Map</string>

答案 11 :(得分:0)

在所有活动中,您应该更改

的值
 android:label 

 "@string/app_name"

<强>更新:

答案是,带有标签@ string / title的First Activity是您在Launcher菜单上出现的主要活动。因此,您必须将标签设置为该活动。其他解决方案是您创建一个临时活动并从那里调用主活动,并将您的主活动设置为标签标签,将您的临时活动设置为App_name标签,并将您的临时活动设置为主启动器。

希望这有助于

由于

答案 12 :(得分:-1)

你可以像android:lable =“app_name”一样直接给你的应用程序名称,或者在Values文件夹中检查你的String.xml文件