有没有办法在不创建新项目的情况下更改应用程序的名称(Launcher App Label)?
注意:应用程序的名称和手机主屏幕上的启动器图标上显示的标签可能不同.
示例:在我的移动设备的主页上,我有一个图标,名称为Foo,但我想将名称更改为Bar.我可以这样做吗?
之前已经问过这个问题 - 但根本没有令人满意的答案!所以我再试一次.
我想给我的应用程序启动器图标(在开始屏幕上显示的图标!)一个不同的,更短的标题.似乎发射器从mainfest部分获取了关于主要活动标签的标签,如下所示:
<activity android:name="MainActivity" android:label="@string/app_short_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
我已将此应用程序名称@ string/app_name的原始引用更改为其他更短的字符串资源.
但是 - 大但是:这当然也改变了这个活动的默认标题!而且我不希望这种情况发生,有足够的空间来申请长名称!onCreate使用该setTitle(int)方法再次设置长标题也没有用,因为短名称将在短时间内对用户可见,但需要足够长的时间才能注意到!
并且 - 请不要通过引用自定义标题栏来回答我的问题...我不想走那么长的路,只是因为一个愚蠢的字符串标题!绘制一个自定义标题栏以获得如此小的效果是一件痛苦的事!
有没有简单的方法只是给启动器一个不同的字符串来显示?谢谢你的回答!
编辑:拥有自定义标题栏的另一个原因是它看起来不像默认的标题栏,我必须明确地做一些事情,使它在每个设备上看起来都很相似!如果毕竟我不想要一个不同的外观,这不可能是一个解决方案!
我的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>
Run Code Online (Sandbox Code Playgroud)
为什么应用程序从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>
Run Code Online (Sandbox Code Playgroud) 我已经查看了应用程序的清单,在apps启动器下它显示为活动名称而不是应用程序名称?为什么是这样.我有另一个应用程序,当我安装它时,应用程序中的每个活动有5个条目,当应该只有一个名称,应用程序的名称?因此,当我去发布时,它在启动列表中有5个相同名称的应用程序.这些以应用程序命名,但每个活动都有一个.这可能是什么原因?
我理解,这android:label=决定了应用程序的名称.
我已按如下方式正确完成:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.drsystem"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" >
</uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
</uses-permission>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.drsystem.LoginActivity"
android:label="@string/title_activity_login" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.drsystem.CalibrationActivity"
android:label="@string/title_activity_calibration" >
</activity>
<activity
android:name="com.example.drsystem.DeadReckoningActivity"
android:label="@string/title_activity_dead_reckoning" >
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
但我的应用名称仍显示在屏幕上的图标下方 "@string/title_activity_login"
我想要它 "@string/app_name"
有人可以帮忙吗?
提前致谢
我正在使用最新的ADT插件在Eclipse Juno中创建新的android项目,并且我遇到了应用程序名称的问题.每当我运行应用程序时,它运行正常,但当我转到应用程序列表时,应用程序的名称不存在.相反,我有一个名为MainActivity的新应用程序,它是应用程序中第一个活动的名称.app_name字符串设置为应用程序的名称,但它仍然无法正常工作.我想出了将title_activity_main更改为应用程序的名称修复了应用程序抽屉中错误的应用程序名称的问题,但这似乎是一种方法来解决这个问题.其他人遇到这个问题,或者只是像我一样讨厌新的ADT?
清单代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bv.testapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)