官术网_书友最值得收藏!

2.2.2 Activity的常規(guī)配置

前端的HTML會(huì)把頁(yè)面配置放在各個(gè)頁(yè)面自己的.html文件中,Android的Activity則不同,它的配置都存放在一個(gè)名為AndroidManifest.xml的文件中,如圖2-8所示。

圖2-8 AndroidManifest.xml文件內(nèi)容

在圖2-8中,我們會(huì)著重介紹一下<application>標(biāo)簽的配置,這個(gè)標(biāo)簽主要包含Android端App的配置,也包含App中所有Activity的配置。

我們先介紹一下<application>標(biāo)簽的配置,也就是App全局的配置。比如allowBackup="true"這個(gè)屬性,它主要是開(kāi)啟系統(tǒng)的默認(rèn)備份功能。這是Android 2.2中引入的一個(gè)系統(tǒng)備份功能,允許用戶備份系統(tǒng)應(yīng)用和第三方應(yīng)用的apk安裝包和應(yīng)用數(shù)據(jù),以便用戶通過(guò)adb backup和adb restore來(lái)備份和恢復(fù)應(yīng)用數(shù)據(jù)。第三方應(yīng)用開(kāi)發(fā)者需要在應(yīng)用的AndroidManifest.xml文件中配置allowBackup標(biāo)志(默認(rèn)為true),設(shè)置應(yīng)用數(shù)據(jù)是否能夠被備份或恢復(fù)。

android:icon="@mipmap/ic_launcher"這個(gè)屬性是配置App在launcher界面的展示圖標(biāo)。Mipmap是一個(gè)圖片存放的具體文件夾,圖片的名字是ic_launcher(這里引入圖片的時(shí)候是不加圖片后綴名的)。

android:label=book其實(shí)調(diào)用的是String文件中的app_name變量,實(shí)際的寫(xiě)法是android:label="@string/app_name",只不過(guò)Android Studio為了方便用戶查看就直接顯示了book。其實(shí)在Android App編碼過(guò)程中會(huì)專門(mén)有一個(gè)文件存儲(chǔ)這些可能會(huì)被很多地方用到的鍵-值對(duì),該文件的路徑是res/values/strings.xml,如圖2-9所示。

圖2-9 strings.xml鍵-值對(duì)文件

android:roundIcon = "@mipmap/ic_launcher_round"是配置一個(gè)圓形圖標(biāo),功能與android:icon="@mipmap/ic_launcher"類似,只不過(guò)在Android 8.0以上版本中會(huì)支持用戶定義一個(gè)橢圓形的圖標(biāo),并且在launcher中展示出來(lái)。

android:supportsRtl="true"屬性是Android 4.2以后才有的,并且默認(rèn)是false,主要功能是把從左到右的布局翻轉(zhuǎn)成從右到左,其實(shí)這個(gè)屬性類似前端屬性中的direction: rtl。只不過(guò)direction是對(duì)特定的容器設(shè)置的,而android:supportsRtl="true"是面向整個(gè)App設(shè)置的。

android:theme="@style/AppTheme"屬性的主要功能是選擇一個(gè)App默認(rèn)的主題樣式,當(dāng)然這個(gè)主題用戶可以自定義,它有點(diǎn)類似前端的Bootstrap主題腳手架,可以選擇一些預(yù)設(shè)的主題來(lái)豐富移動(dòng)端的操作界面。

剩下的<Activity>標(biāo)簽以及里面的內(nèi)容如代碼清單2-7所示。第一行代碼中的android: name=".MainActivity"聲明一個(gè)叫作MainActivity的類,這里要記住每一個(gè)App中的Activity都需要在AndroidManifest.xml中聲明,否則在我們編譯App時(shí)會(huì)出現(xiàn)編譯不通過(guò)的情況。

代碼清單2-7 <Activity>標(biāo)簽配置

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

代碼清單2-7中第3行的android.intent.action.MAIN是設(shè)置當(dāng)前Activity作為整個(gè)App的入口。第4行的android.intent.category.LAUNCHER是設(shè)置當(dāng)前應(yīng)用程序優(yōu)先級(jí)最高的Activity,通常與第4行配置項(xiàng)配合使用。所達(dá)成的效果就是,當(dāng)用戶點(diǎn)擊手機(jī)界面的App圖標(biāo)時(shí),手機(jī)會(huì)啟動(dòng)App中設(shè)置了android.intent.action.MAIN和android.intent.category.LAUNCHER的Activity。

至此Android的Activity的常規(guī)配置的介紹就結(jié)束了,2.2.3節(jié)將會(huì)介紹如何在Android頁(yè)面中進(jìn)行Activity跳轉(zhuǎn)。

主站蜘蛛池模板: 平凉市| 敦煌市| 美姑县| 青海省| 麻阳| 治县。| 鹤庆县| 文昌市| 镇坪县| 蒲江县| 苍梧县| 彩票| 神农架林区| 高清| 彭泽县| 北辰区| 梨树县| 高密市| 南昌市| 白城市| 棋牌| 齐河县| 肥乡县| 望奎县| 新龙县| 宿松县| 曲周县| 周口市| 郯城县| 绩溪县| 绥中县| 昂仁县| 舟山市| 项城市| 灌阳县| 寻甸| 井陉县| 启东市| 莱芜市| 扎兰屯市| 海南省|