我已经审查了应用程序的清单,在应用启动器下,它显示为“Activity Name”,而不是应用程序名称?这是为什么。我有另一个应用程序,在安装时,会出现5个条目,每个条目都代表应用程序中的一个活动,而应该只有一个名称,即应用程序的名称?因此,当我要启动它时,启动列表中会有5个完全相同的应用程序名称,它们都以应用程序命名,但每个活动都对应一个应用程序名称。这可能是什么原因?
我已经审查了应用程序的清单,在应用启动器下,它显示为“Activity Name”,而不是应用程序名称?这是为什么。我有另一个应用程序,在安装时,会出现5个条目,每个条目都代表应用程序中的一个活动,而应该只有一个名称,即应用程序的名称?因此,当我要启动它时,启动列表中会有5个完全相同的应用程序名称,它们都以应用程序命名,但每个活动都对应一个应用程序名称。这可能是什么原因?
<activity android:name="ApiDemos" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
在此代码中,显示于启动器中的应用名称由activity
标签中的android:label
属性设置,而不是上面已接受的答案所说的application
标签。activity
标签中的android:label
属性(包含DEFAULT
和LAUNCHER
类别的活动标签),除非您没有在这里指定,否则它会来自application
标签上的android:label
属性。android:label
属性来解决。<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
并在每个活动标签中添加android:label="@string/app_name"
。 - Patrick对于第一个问题,你应该注意,在启动Activity
时没有标签的情况下,名称来自于在应用程序标记中设置的默认标签android:label
属性:
<application android:name="ApiDemosApplication"
android:label="@string/activity_sample_code"
android:icon="@drawable/app_sample_code">
如果Activity
有标签,那么该标签将被使用。
对于第二个问题,在清单文件中,很可能所有的活动都指定了一个带有动作为android.intent.category.LAUNCHER的意图过滤器。例如:
<activity android:name="ApiDemos">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
如果你在所有活动中都有这样的intent-filter标签,那么你应该将除了你想要在启动时启动的Activity
之外的所有intent filter标签都移除掉。如果这个Activity
有一个标签,它就是与启动器图标一起显示的标签。LAUNCHER
类别的活动将被启动,并且它的标签将与应用程序图标相关联,因此也许不严格需要删除所有多余的意图过滤器,但我仍然会这样做,因为它可能导致混淆。如果您希望应用程序名称(在应用图标下方显示的名称)与点击应用程序图标时启动的活动的名称不同,则可以在活动的onCreate()方法中显式设置不同的字符串,如下所示:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Do your thing
// ... bla bla bla
getActionBar().setTitle(R.string.activity_title);
}
android:label="";
这样做后,图片视图后面就不会显示活动名称了。请使用以下代码设置图片视图以及导航图标和无工具栏标题。try {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setTitle("");
if (getSupportActionBar() != null)
getSupportActionBar().setIcon(R.drawable.header_image_wt);
} catch (Exception e) {
e.getMessage();
}