好久沒(méi)有寫(xiě)簡(jiǎn)書(shū)了,最近比較有空融柬,覺(jué)得還是有必要整理一下學(xué)的知識(shí)颊咬。
運(yùn)行效果
內(nèi)容簡(jiǎn)概
一务甥、Manifest配置程序 組件/名稱(chēng)/圖標(biāo)/樣式
二、Activity顯示界面
三喳篇、layout.xml對(duì)界面布局
四缓呛、Constraint添加約束
五、界面跳轉(zhuǎn)
六杭隙、適配屏幕方向
七哟绊、簡(jiǎn)單動(dòng)畫(huà)
八、多語(yǔ)言支持
具體內(nèi)容
一、Manifest配置程序 組件/名稱(chēng)/圖標(biāo)/樣式
首先創(chuàng)建一個(gè)新工程票髓,選擇Empty activity攀涵,語(yǔ)言使用kolin。創(chuàng)建完畢后洽沟,工程已經(jīng)有了基礎(chǔ)的配置以故,這些配置信息一般都放在Manifest文件里,需要更改應(yīng)用圖標(biāo)裆操、應(yīng)用名稱(chēng)等就在里面配置怒详。
圖標(biāo)文件放在res/mipmap文件下,里面有原始圖標(biāo)踪区,要替換時(shí)需要與原始圖標(biāo)大小一致昆烁。不同大小的圖標(biāo)適配不同的設(shè)備(電腦、iPad缎岗、手機(jī)等)静尼。
我這里用72*72的圖標(biāo),將圖片復(fù)制粘貼到mipmap目錄传泊,然后在彈出的窗口選擇對(duì)應(yīng)的尺寸(我的是hdpi)即可鼠渺。
在res/values/strings目錄下配置應(yīng)用名稱(chēng)。
或者從AndroidManifest文件的label標(biāo)簽眷细,按ctrl鍵進(jìn)入
二拦盹、Activity顯示界面
Manifest文件中的activity標(biāo)簽管理主界面,下圖中只有MainActivity一個(gè)主界面溪椎,按Ctrl鍵選中MainActivity跳轉(zhuǎn)到對(duì)應(yīng)類(lèi)普舆。
MainActivity和對(duì)應(yīng)xml文件都可以管理主界面,二者用setContentView(R.layout.activity_main)關(guān)聯(lián)池磁。其中MainActivity主要負(fù)責(zé)管理交互
,activity_main.xml主要負(fù)責(zé)具體布局
楷兽。
三地熄、layout.xml對(duì)界面布局
將一般圖片放在drawable目錄下,在activity_main.xml布局中拖動(dòng)一個(gè)ImageView到模擬界面中芯杀,在右側(cè)可以設(shè)置圖片大小等配置端考。
四、Constraint添加約束
在界面中還要添加對(duì)應(yīng)的約束揭厚,即告訴系統(tǒng)該控件對(duì)應(yīng)的位置却特。添加約束相當(dāng)于設(shè)置xy坐標(biāo)。在界面中操作就是點(diǎn)擊控件筛圆,拖動(dòng)四周的圓點(diǎn)到界面的邊緣裂明,若拖動(dòng)效果不滿(mǎn)意,可以在右側(cè)輸入具體的值細(xì)調(diào)太援。右側(cè)的設(shè)置也可以通過(guò)文字代碼形式設(shè)置闽晦。
如果直接在text標(biāo)簽寫(xiě)上內(nèi)容扳碍,就會(huì)出現(xiàn)警告,因?yàn)檫@是一個(gè)硬鏈接仙蛉,通俗講就是寫(xiě)死了笋敞,改起來(lái)很麻煩。
所以通常一些文本內(nèi)容都會(huì)在string.xml文件中配置對(duì)應(yīng)的軟連接荠瘪。配置的方法有兩種夯巷,一種是直接在string.xml寫(xiě),一種是點(diǎn)擊activity界面右邊的設(shè)置條哀墓。
比如這里我要更改button的文字趁餐,點(diǎn)擊右側(cè)text的設(shè)置條,在彈出的窗口點(diǎn)擊加號(hào)麸祷,選擇string value澎怒,最后填寫(xiě)名稱(chēng)和值即可。
五阶牍、界面跳轉(zhuǎn)
要使點(diǎn)擊按鈕時(shí)觸發(fā)一些事件喷面,就需要監(jiān)聽(tīng)按鈕。首先給控件加上id走孽,然后設(shè)置監(jiān)聽(tīng)事件惧辈。
// 監(jiān)聽(tīng)按鈕
LoginButton.setOnClickListener {
// 添加旋轉(zhuǎn)動(dòng)畫(huà),動(dòng)畫(huà)結(jié)束后再跳轉(zhuǎn)到下一個(gè)界面
}
實(shí)現(xiàn)界面跳轉(zhuǎn)先要準(zhǔn)備一個(gè)新的界面磕瓷,創(chuàng)建一個(gè)空的activity盒齿。
然后在MainActivity中配置
// 界面跳轉(zhuǎn)
startActivity(Intent(this,DetailActivity::class.java))
另外,我們還需要從跳轉(zhuǎn)界面返回主界面困食,在Manifest文件中設(shè)置DetailActivity界面的父界面边翁。
<activity android:name=".DetailActivity"
android:parentActivityName=".MainActivity">
</activity>
六、適配屏幕方向
如果需要橫屏硕盹,則配置一個(gè)資源路徑符匾,在res目錄下添加一個(gè)資源路徑。
添加后轉(zhuǎn)到project模式瘩例,在layout-land目錄下添加需要橫屏的界面xml文件(我這里添加activity_detail.xml)
然后在Manifest文件設(shè)置橫屏啊胶,screenOrientation=landscape,默認(rèn)是豎屏垛贤。
<activity android:name=".DetailActivity"
android:parentActivityName=".MainActivity"
android:screenOrientation="landscape">
</activity>
此時(shí)跳轉(zhuǎn)界面后就是橫屏了焰坪,這種常見(jiàn)于橫屏手游中。
七聘惦、簡(jiǎn)單動(dòng)畫(huà)
這里為了簡(jiǎn)化代碼某饰,新建一個(gè)MyAnimatorListener類(lèi)。
然后在MainActivity中配置
// 監(jiān)聽(tīng)按鈕
LoginButton.setOnClickListener {
// 添加旋轉(zhuǎn)動(dòng)畫(huà),動(dòng)畫(huà)結(jié)束后再跳轉(zhuǎn)到下一個(gè)界面
ObjectAnimator.ofFloat(mHeader,"rotation",0f,360f).apply { this
duration=100
repeatCount=6
start()
addListener(object : MyAnimatorListener(){
override fun onAnimationEnd(p0: Animator?) {
// 界面跳轉(zhuǎn)
startActivity(Intent(this,DetailActivity::class.java))
}
})
}
}
八露乏、多語(yǔ)言支持
打開(kāi)open edit
點(diǎn)擊地球圖標(biāo)碧浊,選擇需要的語(yǔ)言,我這里選擇English
選擇語(yǔ)言后瘟仿,在新增一欄填寫(xiě)對(duì)應(yīng)的語(yǔ)言翻譯
項(xiàng)目運(yùn)行時(shí)會(huì)根據(jù)手機(jī)設(shè)置的語(yǔ)言顯示不同的文字箱锐。