viewpager可以自定義切換動(dòng)畫嗎 viewpager電腦怎么樣?
viewpager電腦怎么樣?Vi如何開發(fā)一款手機(jī)軟件?從零開始,手拉手將帶你實(shí)現(xiàn)一個(gè) "專注于睡覺的應(yīng)用程序。睡覺前,如果能有一個(gè)APP,我們可以寫寫這一天的所見所聞,同時(shí)可以看一會(huì)兒段子,瞄一會(huì)兒
viewpager電腦怎么樣?
Vi
如何開發(fā)一款手機(jī)軟件?
從零開始,手拉手將帶你實(shí)現(xiàn)一個(gè) "專注于睡覺的應(yīng)用程序。睡覺前,如果能有一個(gè)APP,我們可以寫寫這一天的所見所聞,同時(shí)可以看一會(huì)兒段子,瞄一會(huì)兒美女,放松一下疲憊的身心。那個(gè) 這就是我完成這個(gè)應(yīng)用程序的原因。我已經(jīng)在Github上分享了APP的所有代碼。如果需要,直接點(diǎn)這里。如果你喜歡,請(qǐng)給我一個(gè)贊。謝謝你。
在寫這篇文章之前,讓我們先看看。;讓我們展示一波效果,看看五天后我們能達(dá)到什么效果。
本教程分為五天,內(nèi)容如下:
第一天,準(zhǔn)備好
功能需求/要求
可行性分析
第二天、UI和公共類的封裝
界面的設(shè)計(jì)與實(shí)現(xiàn)
公共類的實(shí)現(xiàn)
第三天,日記模塊
日記的展示
浮動(dòng)菜單的實(shí)現(xiàn)
添加、刪除和修改日志的實(shí)現(xiàn)
第四天,姐妹艙
圖片的獲取
圖片顯示
詳細(xì)信息頁(yè)面的顯示
第五天,段落模塊
分段數(shù)據(jù)的采集
笑話展示
第一天
俗話說萬事開頭難。在我們開始輸入代碼之前,讓 咱們先做一些必要的準(zhǔn)備,這樣才能事半功倍!
一.功能要求
既然要做APP,還是要先列出APP的所有功能。有了方向,才能更好的努力。因?yàn)橄胱鲆粋€(gè)睡覺的APP,所以我覺得應(yīng)該有以下幾個(gè)功能。
1.日記的添加、刪除和修改
2.展示一些有趣的笑話。
3.瀑布展示了美麗的女孩。
4.保存日記內(nèi)容,緩存妹子的照片。
雖然需求不多,但是應(yīng)該會(huì)應(yīng)用到網(wǎng)絡(luò)、數(shù)據(jù)存儲(chǔ)、圖片緩存、UI設(shè)計(jì)等內(nèi)容。相信整個(gè)app的完成一定會(huì)鞏固我們的安卓基礎(chǔ)。
二、可行性分析
我們的APP主要有三個(gè)模塊,日記模塊主要應(yīng)用于數(shù)據(jù)庫(kù)的知識(shí),難度不大。但是,段落模塊和姐妹模塊的數(shù)據(jù)從哪里來,這是要考慮的。好在現(xiàn)在是開源時(shí)代,很多數(shù)據(jù)已經(jīng)在網(wǎng)上開源了。
讓 讓我們先看看數(shù)據(jù)的內(nèi)容
上面兩段代碼分別是段子和姐妹模塊的json數(shù)據(jù),我去掉了一些沒用的字段。剩余的我們想要的所有數(shù)據(jù)。你可以看到,在段子數(shù)據(jù)里,有段子的內(nèi)容,還有發(fā)布者的頭像和名字。姊妹數(shù)據(jù)包含圖片的url、id和類型。我相信有了這么豐富的數(shù)據(jù),我們想放心的完成這個(gè)APP。
第二天
一、界面的設(shè)計(jì)與實(shí)現(xiàn)
既然要完成一個(gè)好看的APP,那么好看的界面必不可少。在這里,我強(qiáng)烈建議APP界面的設(shè)計(jì)盡量遵循Google提出的材質(zhì)設(shè)計(jì)。這里推薦一個(gè)網(wǎng)站材質(zhì)設(shè)計(jì)調(diào)色盤,可以讓我們的材質(zhì)設(shè)計(jì)變得更簡(jiǎn)單。我APP的配色就是用這個(gè)網(wǎng)站完成的。貼幾張圖讓你感受一下它的威力。
在這個(gè)網(wǎng)站的幫助下,我們可以完成APP的配色和圖標(biāo)的收集,為下一步功能的實(shí)現(xiàn)打下良好的基礎(chǔ)。至于界面的設(shè)計(jì),仁者見仁,智者見智,篇幅有限,所以我贏了 不要談?wù)撎唷?/p>
APP最終設(shè)計(jì)效果如下:
二,實(shí)現(xiàn)公共課
因?yàn)檫@個(gè)項(xiàng)目有三個(gè)模塊,有些東西其實(shí)是通用的。如果先把這些通用的東西打包,供應(yīng)給所有模塊,相信我們的開發(fā)效率會(huì)大大提高。
1.網(wǎng)絡(luò)工具的封裝
在這個(gè)APP中,很多地方都要用到網(wǎng)絡(luò)請(qǐng)求,所以需要對(duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行封裝,因?yàn)檫@個(gè)APP的規(guī)模比較小,所以我選擇了凌空的網(wǎng)絡(luò)框架作為我們的網(wǎng)絡(luò)請(qǐng)求庫(kù)來封裝網(wǎng)絡(luò)請(qǐng)求,在需要的地方調(diào)用就可以了。對(duì)于網(wǎng)絡(luò)請(qǐng)求,我覺得每個(gè)程序員都應(yīng)該對(duì)HTTP有所了解。這里有一篇關(guān)于HTTP的文章。程序員應(yīng)該對(duì)HTTP有所了解。
讓 讓我們先寫一個(gè)接口來回調(diào)網(wǎng)絡(luò)請(qǐng)求。
然后封裝網(wǎng)絡(luò)請(qǐng)求。
2.Json解析的幫助類
因?yàn)檫@個(gè)APP獲取的數(shù)據(jù)都是Json格式的,所以需要把Json解析封裝成一個(gè)工具類,傳入一個(gè)字符串類型的數(shù)據(jù),直接得到數(shù)據(jù)實(shí)體類的列表。
3.HomeActivity的封裝(主頁(yè))
主頁(yè)面我用的是TabLayout ViewPager片段,這也是現(xiàn)在主流APP主頁(yè)面的顯示。主界面下方是我們?nèi)齻€(gè)模塊的圖標(biāo)和名稱,界面可以左右滑動(dòng)跳轉(zhuǎn)。
底部圖標(biāo)的實(shí)體類CommonTabBean
可視尋呼機(jī)片段通用適配器
第三天
關(guān)于日記模塊的實(shí)現(xiàn),我其實(shí)是復(fù)用了之前的。我寫過一個(gè)日記APP。具體思路和做法可以參考我的文章Android,一個(gè)非常簡(jiǎn)潔優(yōu)雅的日記APP。
第四天
第一,圖片的獲取
1.根據(jù)返回的數(shù)據(jù)寫圖片的實(shí)體類。
2.圖片顯示
你可以看到,我用瀑布來顯示圖片,效果還不錯(cuò),但實(shí)現(xiàn)起來其實(shí)很簡(jiǎn)單。
先寫一個(gè)圖片的布局作為RecyclerView的項(xiàng)目。
您可以看到,我在ImageView之外添加了一個(gè)CardView。這樣的卡片布局可以讓畫面看起來像卡片一樣,相當(dāng)優(yōu)雅美觀。
然后編寫一個(gè)適配器將數(shù)據(jù)綁定到接口。
最后,只需獲取片段中的數(shù)據(jù)并初始化布局。
3.詳細(xì)信息頁(yè)面的顯示
干,整個(gè)模塊只能顯示女生的圖片!?。》凑阋芸创髨D,能根據(jù)手勢(shì)放大縮小,能瀏覽下一張圖片。照你說的做。
因?yàn)閳D片需要有根據(jù)手勢(shì)放大縮小的功能,所以想到了PhotoView,這是網(wǎng)上某大神寫的,繼承自ImageView的一個(gè)自定義控件。我以前加載圖片。
滑翔,如果你不 不知道這個(gè)庫(kù),強(qiáng)烈推薦一行代碼就能讓圖片加載。你確定你沒有。;我不想研究它?
第五天
第一,段落數(shù)據(jù)的獲取
其實(shí)段數(shù)據(jù)的獲取和姐妹模塊基本相同。
先寫實(shí)體類。
編寫完實(shí)體類后,我們可以使用之前打包的網(wǎng)絡(luò)請(qǐng)求工具和解析工具將返回的數(shù)據(jù)解析到包含子實(shí)體類的列表中。
第二,段落的展示
像往常一樣,先寫一個(gè)RecyclerView的條目。
然后編寫一個(gè)將數(shù)據(jù)綁定到接口的適配器。
最后,在子頁(yè)面中進(jìn)行數(shù)據(jù)采集和界面初始化