我的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>
答案 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文件