版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、適配方式適配方式之 適配方式之 1.3 適配方式之 1.4適配方式適配方式之 適配方式之 1.3 適配方式之 1.4 適配方式之 java 代碼適1.5 適配方式之 weight 權(quán)重適類庫(kù)的創(chuàng)建() 完成側(cè)拉菜單3.1簡(jiǎn) -left 工代碼實(shí)-left-right 工完成引導(dǎo)界面引導(dǎo)界面簡(jiǎn)代碼實(shí)現(xiàn)引導(dǎo)界1Android 適配&lib 工程生成&-1.1 適配方式之:分辨率:KM: 。表示物理屏幕區(qū)域內(nèi)像素點(diǎn)的總和。記:跟屏幕適配沒(méi)有任何 因可以把 Android 適配&lib 工程生成&-1.1 適配方式之:分辨率:KM: 。表示物理屏幕區(qū)域內(nèi)像素點(diǎn)的總和。記:跟屏幕適配沒(méi)有任何 因可以把
2、的分辨 機(jī)上面。我也可以把 的分辨率做到 英機(jī)上面,如果分辨率相同屏幕越小清晰V VO :像素,就是屏幕中最小的一個(gè)顯示單O(像素密度):即每英寸屏幕所擁有的像素?cái)?shù),像素密度越大,顯示畫面細(xì)節(jié)就越豐富計(jì)算公式:像素密度=(長(zhǎng)度像素?cái)?shù)D 寬度像素?cái)?shù)D 注:屏幕尺為英寸 例:分辨率為 屏幕寬度為 英寸 計(jì)算所得像素密度約等于 ,屏幕尺指屏幕對(duì)角線的長(zhǎng)度中 O 分類在的 TJXOJ 工中有如下 K ,這是用來(lái)適配不同分辨的 LUXSKJOSJKTYOZ_ YIXKKTY d V NOYOYZNKHGYKROTK LUXNOMNJKTYOZ_ YIXKKTY d LUXKZXGNOMN JKTYOZ_
3、 VYIXKKTY d Android 應(yīng)用在查資源時(shí)會(huì)根據(jù)其分辨率自動(dòng)從不同的文下查找(這本身就是 Android 系統(tǒng)的適策略),如果在低分辨的中比drawable-中沒(méi)Android 應(yīng)用在查資源時(shí)會(huì)根據(jù)其分辨率自動(dòng)從不同的文下查找(這本身就是 Android 系統(tǒng)的適策略),如果在低分辨的中比drawable-中沒(méi)資源,其中都有該應(yīng)用部到分辨機(jī)上時(shí),那么該應(yīng)用會(huì)查找分辨率較下的資源文件,如果較高分辨下也沒(méi)有資只好找較中的資源了常屏幕像素及對(duì)應(yīng)分別率級(jí)別dp 和 px 之間的簡(jiǎn)單換算關(guān)系機(jī) 機(jī) 機(jī) 機(jī) 3機(jī) JV# :根據(jù)上面的描得出如下結(jié)論機(jī)的布局通過(guò) 可以達(dá)到適配效1.2機(jī) JV#
4、:根據(jù)上面的描得出如下結(jié)論機(jī)的布局通過(guò) 可以達(dá)到適配效1.2跟 類似的,在 TO 工程下有 ,這個(gè)是默認(rèn),同時(shí)為了適配不同尺可以創(chuàng)建一個(gè) R 的文件夾,同時(shí)將 T 文件拷貝下在 OT 中定義一個(gè)尺寸,如下圖所示在 RY 中的 OK 中定義同樣的尺寸名稱,但是使用不同的尺寸,如下圖所示 當(dāng)在布局文件中使用長(zhǎng)或者寬時(shí),比如下圖所示,應(yīng)該使用&O 來(lái)靈活的定義寬度: 在GRKY 中, 中間的是大寫字母 的小寫形式 , 而不是加減乘除的乘號(hào)。如果在R當(dāng)在布局文件中使用長(zhǎng)或者寬時(shí),比如下圖所示,應(yīng)該使用&O 來(lái)靈活的定義寬度: 在GRKY 中, 中間的是大寫字母 的小寫形式 , 而不是加減乘除的乘號(hào)。如
5、果在RY 中放置了 T 常量,一定記得也將該常量的對(duì)應(yīng)值在 下的 TSR 中放一份因?yàn)樵撐募悄J(rèn)配置,當(dāng)機(jī)不是 的情況下系統(tǒng)應(yīng)用使用的是默認(rèn) 中的 OTR1.3跟 GRKY 一樣,在 TXO 工中 也支持類似 一樣的適配,在 RG_ 可針對(duì)不的分辨率制定不同的布局,如下圖所為了演示用 PGG 代碼控制適配的效果,因此假設(shè)有這樣的需求,讓一O 控件的寬和高分別為屏幕的和高的一半新創(chuàng)建一個(gè) TXO 工程,修改 TGIOR,布局文如下 o_world在 3GTo_world在 3GTI PGG 類中完成用 PGG 代碼控制 O 的布局效果,其代如下publicMainActivityivitypr
6、ivateic finalStringtag = voidonCreate(Bundle TextViewtv = (TextView) DisplayMetrics metrics = new DisplayMetrics();/metrics去設(shè)置當(dāng)前屏幕信息(寬(像素)高(像素Constant.srceenHeight=Constant.srceenWidth= Log.i(tag,Constant.srceenHeight=+Constant.srceenHeight); Log.i(tag, Constant.srceenWidth = +Constant.srceenWidth);
7、/RelativeLayout.LayoutParamslayoutParams =new /( 其類是一個(gè)常量類,很簡(jiǎn)單,只有兩個(gè)常量用屏幕的寬和高,其代如下publicpublic其類是一個(gè)常量類,很簡(jiǎn)單,只有兩個(gè)常量用屏幕的寬和高,其代如下publicpublics publicConstant1.5weight在控件中使用屬android:layout_weight=1以起到適配效果,但是該屬性的使用有如下規(guī)則 、只能性控件中,比OTXGZ 、豎直方向上使用權(quán)重的控件高度必 的用法 、水平方向上使用權(quán)重的控件寬度必 的用法為了演示權(quán)重的使用完成如下布局 布如下所示LinearLayou
8、t HYPERLINK http:/s/ ion=vertical布如下所示ion=horizontalion=verticalandroid:background=#b40e0e android:background=#1c241candroid:background=#1c241candroid:background=#11f70c 類庫(kù)的創(chuàng)建和創(chuàng)建一工程2U;R,并把該工程作為庫(kù)工程,庫(kù)工程只能被其他應(yīng)用使用,而不能單獨(dú)作TXO 應(yīng)用使用創(chuàng)建庫(kù)文右2M;R $VXUVKXZOKY,彈出如下界面 選Android,進(jìn)入如下界將上圖中選Android,進(jìn)入如下界將上圖中打上勾則該工程就為了庫(kù)
9、工程庫(kù)文件庫(kù)文件也很簡(jiǎn)單,在一個(gè)右擊一Android 工程,選擇 properties,然后在彈出框中選中 庫(kù)文件庫(kù)文件也很簡(jiǎn)單,在一個(gè)右擊一Android 工程,選擇 properties,然后在彈出框中選中 然后選擇右下角的 Add 按鈕,進(jìn)行添點(diǎn)彈出如LogUtil,然OK然后觀的工程,發(fā)庫(kù)文件后多了如,發(fā)現(xiàn)其引入的庫(kù)工程打包為引入庫(kù)文件后就可以在代碼中使用庫(kù)文件中的類:引入庫(kù)文件的好處是如果庫(kù)文件提供的功能不能滿的使用,那可以直接將庫(kù)文件源碼引入庫(kù)文件后就可以在代碼中使用庫(kù)文件中的類:引入庫(kù)文件的好處是如果庫(kù)文件提供的功能不能滿的使用,那可以直接將庫(kù)文件源碼進(jìn)行改和加強(qiáng) 完成側(cè)拉菜單3
10、.1在開(kāi)項(xiàng)目經(jīng)常使用的類庫(kù)文件,同樣的智項(xiàng)目中的側(cè)拉菜單也將用的類庫(kù)文件在本人的 TO 自定義控件中有詳細(xì)的說(shuō)明,并且自己用代碼實(shí)現(xiàn)了一。這直接使用的,該類庫(kù)要比自己寫的更加強(qiáng)網(wǎng)盤地址Y NW 2將 導(dǎo)入到工作空間操作步驟很簡(jiǎn)單,跟導(dǎo)入普通工程一樣,導(dǎo)入過(guò)程截圖如下:如上圖,導(dǎo)入的不是整個(gè) :如上圖,導(dǎo)入的不是整個(gè) 工程,而是里文。導(dǎo)入成功以后結(jié)果如下圖所示代碼實(shí)-left左側(cè)拉菜單作為單獨(dú)的一個(gè)工程來(lái)展示創(chuàng)建一個(gè)新工程,工程名 ERKLZ RKLZ。然后引入代碼實(shí)-left左側(cè)拉菜單作為單獨(dú)的一個(gè)工程來(lái)展示創(chuàng)建一個(gè)新工程,工程名 ERKLZ RKLZ。然后引入之前已經(jīng)在工作空間中引入的庫(kù)文件
11、:引入的時(shí)候可能會(huì)報(bào)如下異常引起該異常的原因自己創(chuàng)建的 TXO 中引入TXOJ YVVUXZ PGX 同ERKLZ 庫(kù)文件中也TXOJ YVVUXZ PGX,這樣就導(dǎo)致了 PGX 開(kāi)發(fā)工具之所以能監(jiān)測(cè)到兩個(gè)相同名稱的PGX 包不一致是因?yàn)楣ぞ卟捎昧? 算法來(lái)分別獲取兩個(gè)PGX 然后進(jìn)行比較(這一點(diǎn)根據(jù)異常也能看出如此)算法簡(jiǎn)是一種數(shù)據(jù)加密算法,該算法是接收一段明文,然后以一種不可逆的方式將它轉(zhuǎn)換成一段(通常?。┟芪?,也可以簡(jiǎn)單的理解為取一串輸入碼(稱為或信息),并把它們轉(zhuǎn)化為長(zhǎng)度較短、位數(shù)固定的輸出列即散列值(也稱為信或信息認(rèn)證代碼)的過(guò)程創(chuàng)建用于顯示菜單的 GMT Fragment創(chuàng)建好的側(cè)
12、拉菜單效果如下圖所示,左側(cè)菜單整體是一,XGMSKTZ,有 2YO 布局,布局中的每一個(gè)條目都是一個(gè)對(duì)應(yīng)的 ,XGMSKTZ,XGMSKTZ 代:publicFragmentextendsFragment privatepublicvoidonCreate(Bundle ,XGMSKTZ 代:publicFragmentextendsFragment privatepublicvoidonCreate(Bundle Fragment, publicViewonCreateView(LayoutInflaterinflater,ViewGroupBundle e) Fragment,return
13、publicvoidonActivityCreated(Bundle e)Fragment,ListViewlistView = (ListView)ArrayAdapter(getActivity(), listView.setOnItemClickListener(newpublicvoidonItemClick(AdapterViewarg0,ViewFragment,ListViewlistView = (ListView)ArrayAdapter(getActivity(), listView.setOnItemClickListener(newpublicvoidonItemCli
14、ck(AdapterViewarg0,Viewarg2,longFragment= switchcasecase 1:=case 2:=case=case=privatevoid switchFragment(Fragment 上面代碼中使用到的 OYZK 文如下?xml=1.0encoding上面代碼中使用到的 OYZK 文如下?xml=1.0encoding=utf-ListView HYPERLINK http:/s/ 上面的代碼中用到GT、XMT ,XGMSKTZ 這里因?yàn)闆](méi)有復(fù)雜業(yè)務(wù)邏輯并且這 個(gè)菜都類似的功能,因可以抽取一個(gè)公用XGTZ,GXGKZGXGKG 如下publiccla
15、ss BaseFragmentextendspublicvoidonCreate(Bundle e)publicView inflater,ViewGroupif(getActivity()instanceofist initData()ListarrayList=newArrayList(); returnBundlee) TextViewtextView = new return textView;publicvoidonActivityCreated(Bundle e)同時(shí)創(chuàng)建 Bundlee) TextViewtextView = new return textView;publicv
16、oidonActivityCreated(Bundle e)同時(shí)創(chuàng)建 ,XGMSKTZ ,并繼GXGKZ,此時(shí)項(xiàng)目的工如下所實(shí)3OTIO_在該類中實(shí)業(yè)務(wù)邏因?yàn)樾枰?3OTIO 中實(shí)現(xiàn)側(cè)拉菜單,因此 3OTIO 需要繼承 類3OTIOPGG 如下publicclass MainActivityextendsSlidingFragmentActivityprivate;publicic MainActivitypublicvoidonCreate(Bundle e)context= = *ODE_FULLSCREEN全屏觸摸有效 *拖拽邊緣有效 ODE_NONE/context= = *ODE_
17、FULLSCREEN全屏觸摸有效 *拖拽邊緣有效 ODE_NONE/*.LEFT .LEFT_RIGHT / 給側(cè)拉欄目和左側(cè)內(nèi)容頁(yè)區(qū)分開(kāi)(加線fragment點(diǎn)Fragment =FragmentManager,Fragment,publicvoidswitchFragment(Fragment fragment)if(fragment != null) fragment,:上面代碼使用到了多個(gè)資源文件,我把其中的布局文件展示出ZTif(fragment != null) fragment,:上面代碼使用到了多個(gè)資源文件,我把其中的布局文件展示出ZT?xml=1.0encoding=utf-
18、FrameLayout HYPERLINK http:/s/ GS ?xml=1.0encoding=utf-FrameLayout HYPERLINK http:/s/ android:layout_height=match_parent部署并運(yùn)行。將上面工程部署到模擬器上,發(fā)想要的效果已經(jīng)出來(lái)3.3 代碼實(shí)現(xiàn) -left-right在 實(shí)現(xiàn)了左側(cè)菜單,還支持左右同時(shí)都有菜單。實(shí)現(xiàn)很簡(jiǎn)單只需做以下修改即可在 節(jié)中 3OTIOPGG 的基礎(chǔ)上將 的模式改為 2:E.:將 節(jié)中 3OTIOPGG 的基礎(chǔ)上添加用于顯示右側(cè)菜單的 GT 將 節(jié)中 3OTIOPGG 的基礎(chǔ)上添加用于顯示右側(cè)菜單的 G
19、T 類,并設(shè)置顯示陰影效FragmentFragment = new /FragmentManagerFragment,:上面的 Fragment 類Fragment類內(nèi)容是一模一樣的,直接拷貝就行運(yùn)行上面工程,拉出右側(cè)菜單效果如 完成引導(dǎo)界面4.1在第一次安裝并打開(kāi)的時(shí)候通常會(huì)看見(jiàn)一些漂亮的引導(dǎo)界 完成引導(dǎo)界面4.1在第一次安裝并打開(kāi)的時(shí)候通常會(huì)看見(jiàn)一些漂亮的引導(dǎo)界面。引導(dǎo)界面不僅可以展豐富多功能也能供用戶設(shè)置一些必要的信息要做的引導(dǎo)界面效果如下圖所示該界面主要是通過(guò) VKX 來(lái)實(shí)現(xiàn)的4.2創(chuàng)建一個(gè)新的 TXO 工程,引導(dǎo)頁(yè)包IUSONG OK工結(jié)構(gòu)如下圖所編寫引導(dǎo)頁(yè)KIZZ PGG。該類中
20、的代編寫引導(dǎo)頁(yè)KIZZ PGG。該類中的代碼業(yè)務(wù)邏輯是當(dāng)用戶進(jìn)來(lái)時(shí)文件中判斷是是第一次進(jìn)來(lái),如果是則通過(guò)顯式意圖打-OKIO_如果不是則進(jìn)入主界面KIZZ 代如下所示publiceActivityivityprivateic finalStringtag = privateprotectedvoidonCreate(Bundle b = Data(getApplicationContext(),Log.i(tag這是第一次進(jìn)入頁(yè)面);enteActivity.this, Data(getApplicationContext(),Toast.makeText(this第二次進(jìn)入ent= eAct
21、ivity.this, :這需要I 設(shè)置為默認(rèn)啟動(dòng)界面。在 TXO3GTL 中進(jìn)行如下改動(dòng)ar.Fullscreenandroid:label=string/app_nameb = Data(getApplicationContext(),Log.i(tag這是第一次進(jìn)入頁(yè)面);enteActivity.this, Data(getApplicationContext(),Toast.makeText(this第二次進(jìn)入ent= eActivity.this, :這需要I 設(shè)置為默認(rèn)啟動(dòng)界面。在 TXO3GTL 中進(jìn)行如下改動(dòng)ar.Fullscreenandroid:label=string/
22、app_nameactivity-actionent.action.MAINcategoryent.category.LAUNCHER:I 中用到了 NGXK;ZPGG 類,該類很簡(jiǎn)單的一個(gè)工具類,:I 中用到了 NGXK;ZPGG 類,該類很簡(jiǎn)單的一個(gè)工具類,如下publicpublic s privateShareUtilic StringCONFIGic ;publicic voidDontextcontext,String=(key,publicDontextcontext,String=return(key, 編碼實(shí)現(xiàn) -OIOPGG。該類主要實(shí)現(xiàn)VKX 控件,該類當(dāng)前項(xiàng)目類publicclass GuideActivityivitypublicic finalStringtag ButtongListprotectedvoidonCreate(Bundle e)button = (Button) pager=ger)ImageViewimageView1button = (Button) pager
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛南科技學(xué)院《農(nóng)業(yè)標(biāo)準(zhǔn)化概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛東學(xué)院《中國(guó)古代文學(xué)專題》2023-2024學(xué)年第一學(xué)期期末試卷
- 甘孜職業(yè)學(xué)院《影視廣告創(chuàng)意與策劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 甘肅中醫(yī)藥大學(xué)《邏輯與邏輯思維》2023-2024學(xué)年第一學(xué)期期末試卷
- 科室醫(yī)療質(zhì)量與安全管理制度范文(4篇)
- 2025年1月日歷表(含農(nóng)歷-周數(shù)-方便記事備忘)
- 藥房服務(wù)培訓(xùn)課件
- 信息安全事件課件
- 小學(xué)生起床圖片課件
- 益陽(yáng)定點(diǎn)月嫂培訓(xùn)課件
- 《瘋狂動(dòng)物城》全本臺(tái)詞中英文對(duì)照
- 幼兒園的品格與道德教育主題班會(huì)課件
- 2024抗菌藥物分級(jí)管理及臨床合理應(yīng)用考核試題及答案
- 儲(chǔ)能系統(tǒng)的應(yīng)急預(yù)案措施
- 論海瀾之家存貨管理的問(wèn)題、成因及其對(duì)策
- 醫(yī)院長(zhǎng)期醫(yī)囑單(模板)
- 班主任育人故事(通用17篇)
- 初二化學(xué)上冊(cè)知識(shí)點(diǎn)7篇
- 汽車保養(yǎng)與維護(hù)
- 2023-2024學(xué)年貴州省黔西南布依族苗族自治州貞豐縣三年級(jí)數(shù)學(xué)第一學(xué)期期末經(jīng)典模擬試題含答案
- 娛樂(lè)場(chǎng)所消防安全操作規(guī)程
評(píng)論
0/150
提交評(píng)論