版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
VMyer一、1該項(xiàng)目采用的是MVP架構(gòu),v層和p層的解耦使用目前比較流行的2、Ssh歡迎界面的完界面需求分析:1全屏2執(zhí)行縮放動畫3設(shè)置動畫,執(zhí)行動畫完畢界面跳<item 動畫最終縮放的倍數(shù)1.0為正常大小,大于1.0放 3設(shè)置動畫,執(zhí)行動畫完畢界面跳animation.setAnimationListener(newAnimation.AnimationListener(){}}}3UI<stylename="AppTheme" <stylename="AppTheme" <item<item<stylename="AppTheme" <item<item<!--Android5.x開始需要把顏色設(shè)置透明,否則導(dǎo)航欄會呈現(xiàn)系統(tǒng)默<item4compile'com.roughike:bottom- 被選中的Tab的顏色 Tab切換時的動畫效果 未被選中的Tab的 未被選中的Tab的顏色 加載對應(yīng)的Tab資源Bottombartab條目點(diǎn)擊//tabIdFragmentFragmentfragment}5主要是對數(shù)據(jù)的緩存進(jìn)行處理(框架才用Glide)newThread(newRunnable(){publicvoidrun()}用戶可 3WifiNetworkInfomobNetInfoActivity=connectivityManager.getActiveNetworkInfo();intnetType=mobNetInfoActivity.getType();returnnetType==6 7Activity<item<item8MVP1aptproject的gradle//Addpluginbuildscript{dependenciesclasspath'com.neenbedankt.gradle.plugins:android-}}2、aptmodlegradle//Applyapplyplugin:'com.neenbedankt.android-3dagger2//AddDaggerdependenciesdependencies{compile'com.apt'com.}Dagger2中注解的使 9、Okhttp3.0 {Typesuperclass=subclass.getGenericSuperclass();if(superclassinstanceofClass){}return}public{type=}ItHeiMaHttpheiMaHttpItHeiMaHttp.getInstance().addHead("參數(shù)名稱","參數(shù)").//加頭WSCallBack<Bean>JSON,StringheiMaHttp.get("BASE_URL",newWSCallBack<Bean>(){publicvoidonFailure(Callcall,Exceptione)//}publicvoidonSuccess(Beanbean)//}二、HttpManagerhttpManager=addParam("offset",offset+"").addParam("size",size+"");publicvoidonFailure(Callcall,Exceptione){}publicvoidonSuccess(List<Bean>Been){}2、根據(jù)數(shù)據(jù)BeanTypeIconfinalinttag;Stringtype=ifACTIVITY".equalsIgnoreCase(type打開頁面tag=0;}elseif(" ".equalsIgnoreCase(typeMVMVtag=1;
}elseif("WEEK_MAIN_STAR".equalsIgnoreCase(type)){//(悅單)tag=}elseif("YLIST".equalsIgnoreCase(type)){//(悅單)點(diǎn)擊進(jìn)去跟顯示悅單詳情一樣tag=3;}elseif("AD".equalsIgnoreCase(type)){tag=4;elseif"PROGRAM".equalsIgnoreCase(typeMVtag=}elseif("bulletin".equalsIgnoreCase(type)){tag=6;}elseif("fanart".equalsIgnoreCase(type)){tag=7;}elseif("live".equalsIgnoreCase(type)){tag=8;}elseif("LIVENEW".equalsIgnoreCase(type)||("LIVENEWLIST".equals(type))){tag=9;}elseif("INVENTORY".equalsIgnoreCase(Bean.getType())){//打開頁面tag=10;}elsetag=-}02、適配的處1、在基類中處理的寬protectedvoidobserv(intwidth,intheight)DisyMetricsmetrics=newDismWidth=metrics.widthPixels;mHeight=(mWidth*height)/}03、實(shí)現(xiàn)下拉刷新和加載功1、下拉控件才用的是V4包下的publicvoidonRefresh(){}publicvoidonScrolled(RecyclerViewrecyclerView,intdx,intdy){super.onScrolled(recyclerView,dx,dy);}04、”MV”MV<LinearLayoutxmlns:android="http://s //tab沒有被選的文本顏app:tabMode="scrollable"設(shè)置可以滑動 2、根據(jù)獲取到的數(shù)據(jù)初始化Vie ge的Adpaterfor(inti=0;i<data.size();i++){}05、”MV”ITEM1、MV中的Vie ger的條目都是Fragment的形式,在Fragment中要根據(jù)對應(yīng)的code獲取對應(yīng)的類型數(shù)據(jù),所以在Fragment初始化的時候就傳入對應(yīng)的code//MvItemFragmentmvItemFragment=newMvItemFragment();Bundlebundle=newBundle();returnmvItemFragment;}//codepublicvoidonCreate(@NullableBundlesavedInstanceState){code=(String)}//codepublicvoidgetData(Stringcode,intoffset,intsize)addParam("area",code).addParam("offset",""+offset).addParam("size",""+size);publicvoidonFailure(Callcall,Exceptione)}}}06、”MV”ITEM//publicvoidonRefresh(){}//加載}08、引入compile 2、用戶按下返回publicvoidonBackPressed(){}super.onBackPressed();4、顯示finalMaterialDialog.Builderbuilder=newpublicvoidonClick(@NonNullMaterialDialogdialog,@NonNullDialogActionwhich){}{}//publicvoidshowDialog()MaterialDialog.Builderbuilder=newMaterialDialog.Builder(getActivity());gress(true,0);}//publicvoidif(dialog!=}caselastY=ev.getRawY();floatmoveX=ev.getRawX();offsetX=moveX-lastX;offsetY=moveY-lastY;floatintposition=if(absY>absX&&offsetY>10&&!isShowBottomBar&&//BottomBar}elseif(absY>absX&&offsetY<-10&&isShowBottomBar&&//BottomBar}//privatevoidenterBottomBar(){isShowBottomBar=true;ObjectAnimatoroa=ObjectAnimator.ofFloat(bottomBar,"translationY",((float)bottomBar.getHeight()),0f);}//isShowBottomBar=ObjectAnimatoroa=ObjectAnimator.ofFloat(bottomBar,"translationY",0f,((float)}11、RecyclerView StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);2、處理在滾動時移位的問 intcompile'com.三、1、條目點(diǎn)擊的處publicvoidonClick(Viewv)IntentmIntent=newIntent();switch(tag){casecasecasecase1:casecasecase2:case}} <item<solid<item//<item<solid03、點(diǎn)擊條目進(jìn)入器 yer的3、根據(jù)Id獲取資源信息并通過器04MVPP1Dagger2Uriuri=MediaStore.Audio.Media.MediaStore.Audio.Media.DURATION,MediaStore.Audio.Media.SIZE,MediaStore.Audio.Media.DATA};MyQueryHandlermyQueryHandler=new//token:}05、獲取SD卡的權(quán)1,判斷是否申請了SD卡的權(quán)2,申請SDK卡的權(quán)ActivityFragmentz3,權(quán)限申請結(jié)果06、開啟異步查詢并查詢結(jié)protectedvoid plete(inttoken,Object,Cursorcursor){plete(token,,cursor);if(token==0&&instanceof}}publicvoidonItemClick(AdapterView<?>parent,Viewview,intposition,longid){Cursorcursor=(Cursor)myCursorAdapter.getItem(position); }//CursorCursor移動-1ifwhileMusicBeanmusicBean=MusicBean.fromCursor(cursor);}}return}Filefile=DecimalFormatdecimalFormat=newDecimalFormat();StringfileSize=decimalFormat.format(getFileSize(file));privatefloatgetFileSize(Filefile)if(file.isDirectory())File[]listFiles=file.listFiles();floatsize=0.0f;for(FilemFile:listFiles)size}return}elsefloatsize=(float)file.length()/1024/1024;returnsize;}}return}newThread(newRunnable()publicvoidrun()}1、音樂界面的幀動畫privatevoidyAnim()AnimationDrawabledrawable=(AnimationDrawable)ivAnim.getBackground();}bindServicestartService來使用,bindServiceBinder對象,startServiceService傳遞數(shù)據(jù)用的:ServiceConnectionCallbackconnectionCallback=newServiceConnectionCallback();Intentintent=newIntent(this,MusicyService.class);intent.putExtra("musicList",musicList);//為了拿到binder對象,操作邏四、01、在Service中定義音樂的publicclassMusicyextendsBinder1、類對音樂代碼的實(shí)現(xiàn):publicvoidyMusic(){mediayer=null;}try yer=newMediaMusicItemmusicItem= }catch(IOExceptione){}}、、 mond方法中接收數(shù)publicint mand(Intentintent,intflags,intstartId){}elsecurrentMusic=musicList= }}return}03、給Mediayer設(shè)置準(zhǔn)備的和完成// Mediayer.OnPreparedListener(){publicvoidonPrepared(Mediayermp){}//設(shè)置完成的 pletionListener(){public pletion(Mediayermp)}publicvoidonProgressChanged(SeekBarseekBar,intprogress,booleanfromUser){if(fromUser){}}publicvoidonStartTrackingTouch(SeekBarseekBar){musicyerpause();}publicvoidonStopTrackingTouch(SeekBarseekBar){musicyerstart();}privateclassMusicReceiverextendsBroadcastR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《接觸網(wǎng)施工》課件 4.1.1 棘輪補(bǔ)償裝置安裝
- 人教部編版《道德與法治》二年級上冊第16課《家鄉(xiāng)新變化》精美課件(第2課時)
- 河南省鶴壁市(2024年-2025年小學(xué)五年級語文)人教版競賽題(下學(xué)期)試卷及答案
- 第45屆世界技能大賽時裝技術(shù)項(xiàng)目全國選拔賽技術(shù)工作文件樣題
- 文書模板-木門廠財(cái)務(wù)分析報(bào)告
- 《千人糕》課件的制作與維護(hù):2024年教師指南
- 《堆雪人》音樂課件:2024年冬季校園活動新趨勢
- 2024年保利物業(yè)培訓(xùn)手冊:塑造高效物業(yè)團(tuán)隊(duì)的秘籍
- 小學(xué)三年級作文:秋風(fēng)
- 2024年百雀羚企業(yè)文化-驅(qū)動企業(yè)成長
- 學(xué)校心理健康教育合作協(xié)議書
- 2024江蘇省沿海開發(fā)集團(tuán)限公司招聘23人(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- 湖北省危險(xiǎn)廢物監(jiān)管物聯(lián)網(wǎng)系統(tǒng)管理計(jì)劃填報(bào)說明
- Unit6ADayintheLife教學(xué)設(shè)計(jì)2024-2025學(xué)年人教版(2024)英語七年級上冊
- 2024年個人勞務(wù)承包合同書
- 知道網(wǎng)課智慧《睡眠醫(yī)學(xué)(廣州醫(yī)科大學(xué))》測試答案
- 如果歷史是一群喵課件
- 危大工程以及超過一定規(guī)模的危大工程范圍
- 門診導(dǎo)診課件
- 網(wǎng)架吊裝施工專項(xiàng)方案(技術(shù)方案)
- 上半年臨床路徑在婦產(chǎn)科的優(yōu)化策略
評論
0/150
提交評論