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> 

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

这是完整的清单

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

Solutions Collecting From Web of "Android应用名称未被显示"

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

在android中命名我的应用程序

启动程序实际上显示了android:label和android:icon作为活动(ies),声明:

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

所以申请标签是没用的。

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

在MainActivity.java上更改:

 public class MainActivity extends Activity {...} 

对于

 public class MainActivity extends AppCompatActivity {...} 

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

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

这当然是如果你正在使用一个操作栏。 正常的活动标题标题是丑陋的!

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

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

如果你设置了一个标签并运行一个活动,你会看到活动标签。

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

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

你需要

 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"); 

你应该更换

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

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

使用

 this.setTitle(""); 

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

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

如果你或者某个人仍然面临这个问题,那么这就是为我工作的解决scheme。

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

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

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

我希望这有帮助。

如果你使用的是Android studio,那么你应该扩展AppCompatActivity,然后只显示Activity。

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

Styles.XML

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

在所有的活动中,你应该改变的价值

  android:label 

  "@string/app_name" 

更新:

好的答案是,带有标签@string/标题的第一个活动是启动菜单上的主要活动。 所以你必须将标签设置为该活动。 其他解决scheme是,您创build一个临时活动,并从那里调用你的主要活动,并设置您的主要活动标题标签和您的临时活动的App_name标签,使您的临时活动主要启动。

希望这可以帮助

谢谢

如果您正在使用Android Studio,您也正在使用MapsActivity,那么您应该扩展ActionBarActivity,并将应用程序名称放在String.xml中。 这对我很有用。 谢谢

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

你可以直接给你的应用程序名称,如android:lable =“app_name”或检查你的String.xml文件的值文件夹