2011-08-26 71 views
26

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

<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> 

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

这是一个完整的清单

<?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> 
+0

添加您完整的代码menifest文件 –

+0

的,我认为你应该检查[此帖](http://stackoverflow.com/questions/3488664/android-launcher-label-vs-activity-title)。这是解决方案的正确途径。 –

回答

5

只能一次显示一个标签。应用程序标签或活动标签。

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

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

+0

我假设应用程序标签是与应用程序关联的名称,活动标签是与活动链接的标签,但是当我在应用程序菜单中查看应用程序时,它会显示活动标签。 – user913240

1

此时应更换

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

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

我不希望活动具有与应用程序相同的名称。我希望应用程序被称为“猎豹”,并且我希望主要活动上的标签显示“Word Puzzle Solutions”。应用程序名称应与应用程序菜单中的应用程序图标一起显示。这不会发生,而是应用程序正在显示活动名称。 – user913240

0

在所有的活动,你应该的

android:label 

值更改为

"@string/app_name" 

更新:

很好的答案是,与标签@字符串/标题的第一个活动是其而来的启动菜单上的主要活动。所以你必须将标签设置为该活动。其他解决方案是,您创建一个临时活动并从那里调用您的主活动,并将您的主活动设置为标题标签和您的临时活动的App_name标签,并使您的临时活动成为主启动器。

希望这有助于

感谢

+0

为什么?如果您可以为每个活动贴上标签,并为应用程序贴上标签,为什么他们都应该是一样的? – user913240

+0

由于顶部的状态栏会在新活动出现时发生变化。所以在这种情况下,您必须编辑每个活动的标签,并在该特定活动状态栏上添加您想要放置的名称。 – Shah

+0

它不是状态栏是问题,它显示正确的信息。它的应用程序菜单包含图标和应用程序的名称。但它不显示清单中的应用程序标签,而是显示活动标签。 – user913240

-1

您可以直接给你的应用程序名称,它像机器人:拉布勒=“APP_NAME”或检查你的String.xml在价值观文件夹文件

3

即使我注意到相同,似乎是一个错误! 你应该报告给谷歌:)

+1

我刚刚在Android网站上发布它作为bug 19852。 – user913240

21

这个问题解释了这样做的原因对我说:

Naming my application in android

启动器实际显示的android:标签和android:图标的活动(IES),其申报:

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

所以申请标签是没有用的。

4

只需将你的发射activitys标签的应用程序名称,然后在代码中手动设置动作条标题为活动

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

这是当然的,如果你使用的是行动起来吧。无论如何,正常的活动标题标题是丑陋的!

编辑:说你可以看到启动文本更改!

1

使用

this.setTitle(""); 
在你的onCreate

()的活动的方法,并在@字符串/ APP_NAME使用您喜欢的应用程序名称为

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

如果你或有人仍然面临的问题那么这就是为我工作的解决方案。

保持应用程序标签和主要活动标签清单中相同main.java文件显示如下

<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> 

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

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

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

我希望这会有所帮助。

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> 

0

如果您使用的是Android工作室,也是您使用MapsActivity那么你应该扩展ActionBarActivity,并将应用程序名称放在String.xml中。这对我很有用。感谢

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

5

我有同样的问题,解决了我:

上MainActivity.java变化:

public class MainActivity extends Activity {...} 

public class MainActivity extends AppCompatActivity {...} 
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");