Android application的label 和Activity的label 的区别

遇到的问题:  我记得以前一直是 在application 里面设置了label就是我们APP的名字。也是桌面显示的当前APP叫什么。。但是今天发现显示的名字和设置的不一样。奇怪哪里出错了吗?还是另有隐情?

后来通过查询。我知道了 application的label 和Activity的label 设置以后对我们页面的title和APP名字是有区别的。

写了个Demo

1、

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="APP名字"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        android:label="first"
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".SecondActivity"
        android:label="second"
        >
    </activity>
</application>

首先设置配置文件。设置 application的label   为 APP名字   设置启动的主页面的lable 为 first   第二个页面是second  通过代码
getTitle().toString()
获得当前的lable .

运行APP结果显示:  APP名字是 first  第一个页面显示的lable 是 first  第二个页面显示的lable 是 second

2、修改了一下。。去掉主启动页的lable.重新运行

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="APP名字"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".SecondActivity"
        android:label="second"
        >
    </activity>
</application>
运行APP结果显示:  APP名字是 “APP名字” 第一个页面显示的lable 是 “APP名字” 第二个页面显示的lable 是 second


总结: Application 和activity 均可设置lable ..activity  的lable 优先级更高。。如果使用。优先使用activity自有lable ..如果 activity 未设置lable 。。那么会默认使用application里面的lable .. 

             APP的名字取决于 启动页所在Activity里面的lable 。。如果未设置。。使用application 的lable
--------------------- 
作者:娃哈哈19910206 
来源:CSDN 
原文:https://blog.csdn.net/a872822645/article/details/78565004 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

Android应用名与activity窗口标题名字如何做到不一样

最近写code,有一个要求是应用程序名字和入口Activity的名字要不一样。尝试的两个方法都行不通。

1.manifest.xml中修改application标签下的label属性和入口activity标签下的label,两个label使用不同的名字。结果发现行不通,应用的名字会被activity的label覆盖。

2.在activity的oncreate方法中加入代码,this.setTitle("xxxx");同样行不通,程序会先显示应用名字(很快的闪过)然后显示自己设置的名字(前面的“xxxx”)。

最后发现正确的方法,如下:在intent-filter中加入label修改应用的名字;在activity标签中加入label修改为入口activity的title。

 

 

<activity

android:name="com.example.xxxtest.MainActivity"

android:label="@string/activity_title_name"

android:screenOrientation="portrait >

<intent-filter android:label="@string/app_name">

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值