AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。
AndroidManifest.xml
中的applicatoin
标签节点包含了对应用程序的声明。该节点中包含有应用程序属性和子节点。
1 属性
1.1 android:name属性
该属性用完整的Java类名赋值,该类名是一个Application子类
的实现。当应用程序进程被启动时,这个类在其他任何应用程序组件被实例化之前实例化。
android:name=".MobileCallApplication"
表示使用MobileCallApplication
类来表示应用程序。在程序运行时,该类首先被实例化。在MobileCallApplication.java
中可以看到,MobileCallApplication
类是BaseApplication
的派生类,BaseApplication
类是Application
类的派生类。
如果没有指定该属性,则android系统会使用默认的Application
类的实例。
1.2 android:icon
该属性指定了应用程序app在桌面上的图标。android:icon="@mipmap/logo"
其中,mipmap
文件夹中包含了logo的图片。
相关链接1:mipmap
文件夹一般存放launcher图标,把图片放在该文件夹中可以提高系统渲染图片的速度,提高图片质量,减少GPU压力。drawable
文件夹用来存放应用程序用到的其它pnp、jpg和gif图标。
1.3 android:label
该属性指定了在app标题栏中显示的内容。android:label="@string/app_name"
以上代码表示在生成的app左上角的标题栏中显示在string中指定的app_name的值。
1.4 android:allowBackup
该属性用来表示是否允许应用程序备份相关的数据并且在必要时候恢复还原这些数据,如果该标识设为false,则代表不备份和恢复任何的应用数据,默认的该标识属性为true。
1.5 android:roundIcon
该属性指定了应用程序使用的圆形桌面图标。android:roundIcon="@mipmap/ic_launcher_round"
相关链接2:android:roundIcon
属性是在android7.1版本(对应api的级别是level25)之后才加入的一个新属性。在导入已存在的项目时,可能会显示编译错误信息Error:No resource identifier found for attribute ‘roundIcon’ in package ‘Android’
主要原因就是当前使用的android studio不支持api level25,解决的方法是下载api level25及跟高版本的SDK,或者将该属性删除。
1.6 android:supportsRtl
该属性表示应用程序是否支持控件从右到左排列,true表示支持该排列方式,false表示不支持该排列方式。相关链接3:android:supportsRtl
是在android4.2之后才有的,其对应的api版本是level17。该属性的默认值是false
。
1.7 android:screenOrientation
该属性表示活动显示的方向。android:screenOrientation="landscape"
以上代码表示将活动显示的方向设置为横向。相关链接4:android:screenOrientation
的值还可以是portait
(纵向)、sensor
(感应器决定方向)、user
(用户偏好的方向)等。
1.8 android:theme
该属性指定了活动的主题风格。android:theme="@style/AppTheme"
以上代码指定了活动的主题风格是style/AppTheme指定的风格。在styles.xml中可以找到style/AppTheme的定义。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
2 子节点
Application节点中可以包含<activity>
、<activity-alias>
、<service>
、<receiver>
、<provider>
和<meta-data>
等子节点。本文主要讨论<activity>
子节点。
<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
属性指定了活动的名称,即该活动对应的类名;<intent-filter>
属性指定了活动的intent过滤器,其中的属性值“android.intent.action.MAIN
”表示该活动是应用程序的入口活动,当应用程序启动时,首先显示该活动。“android.intent.category.LAUNCHER
”表示该活动被列入桌面启动器(launcher)中。通过指定这两个参数值,MainActivity活动就被指定为应用程序的主活动。
作者:棉猴
来源:CSDN
原文:https://blog.csdn.net/hou09tian/article/details/82991410
版权声明:本文为博主原创文章,转载请附上博文链接!