您好,登錄后才能下訂單哦!
https://cloud.tencent.com/developer/ask/125248? (百分數越小越透明)
Android布局分析工具HierarchyView
??http://www.2cto.com/kf/201404/296960.html
布局優化
??http://www.infoq.com/cn/articles/android-optimise-layout
Android使用include/merge/ViewStub優化布局
? http://www.111cn.net/sj/android/87027.htm??
List的item布局、Dialog的自定義布局的寬高設置是無效的,要用minXXX來指定寬高。
1. ?畫UI的原則
? ?能簡則簡,能用一個控件搞定的事情,不要用多個控件。
? ?能抽則抽,可以抽取復用的屬性或布局就抽取. ?
? ?style:抽屬性 ? ? ?include:抽布局(如果想讓include布局指定位置,就得給include套一個布局)
??
???
2. ?資源
【Android源碼】資源加載AssetManager源碼分析 -- app是如何加載資源以及... - 簡書
Android插件化之資源加載機制 | 病已的博客
? ? 在android項目里,資源放在res文件夾下,資源可以是圖片、xml等,不同類型的資源放在不同
? 的文件下,如下圖所示
? ? ? ?
????很多人都不知道的東西:values下的dimens.xml,strings.xml,styles.xml,attr.xml文件,其實
? 名字可以自己定義,而且完全可以寫在一個xml文件里,可以發現每個xml的根標簽都是resources,只是
? 為了便于管理和閱讀,分成不同的xml文件。
????? ?
? ?在XML中引用資源
????????? @[android:]anim/?
? ????????@[android:]drawable/?
????????? @[android:]layout/
???????? ?@[android:]menu/
???????? ?@[android:]layout/?
? ? ? ? ? @[android:]menu/???
????????? @[android:]style/
? ? ? ? ? ??@[android:]string/?
???????? ?@[android:]color/ ?
? ?如果加上android:表示調用系統的資源,系統本身就帶了一些十分常用的、豐富的資源(包括圖片
? ?布局、動畫等),對于一些demo演示,可以直接調用系統的資源以節省時間。
??在代碼中引用資源
??????????Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);
??????????InputStream in = getAssets().open("11.txt");?
??關于Android 獲得圖片的總結? ?http://www.oschina.net/code/snippet_4873_4437
? ?2-1 ?自定義圖形資源(發揮想象)
???? ?⑴shape標簽:利用這個標簽可以繪制基本的圖形,如矩形、圓形、環形、直線
??????????????? 案例1:橫幅廣告切換圓點
???????? ?
????????<?xml?version="1.0"?encoding="utf-8"?>???????? ????????<shape?xmlns:android="http://schemas.android.com/apk/res/android"? ????????????android:shape="oval" ????????????> ????????????<solid?android:color="#E34F1B"?/> ????????????<size?android:width="6dp"?android:height="6dp"/> ????????</shape>
?? ??????效果如右圖所示 ? ?
??????案例2:自定義環形滾動條? ?
????????
????????<?xml?version="1.0"?encoding="utf-8"?> ????????<!--?里面的旋轉動畫屬性可寫可不寫。?--> ????????<rotate?xmlns:android="http://schemas.android.com/apk/res/android"?> ????????????<shape ????????????????android:innerRadiusRatio="3"??//內半徑比?? ????????????????android:shape="ring" ????????????????android:thickne***atio="10" ????????????????android:useLevel="false"?> ????????????????<gradient ????????????????????android:centerColor="#E04343" ????????????????????android:endColor="#33FEDCC4" ????????????????????android:startColor="#33F0F0F0" ????????????????????android:type="sweep"?/> ????????????</shape> ???????? ????????</rotate>
? ? ? ?
?????????效果如右圖所示
????????????
?
?????????幾個參數需要理解一下:
?????????◆?innerRadiusRatio :內半徑比 ? = ?圓的內半徑 / 控件的寬度,一般取3.
???????????? ?
?????????◆?thickne***atio :厚度比? ?= ?圓的厚度?/ 控件的寬度
????????????? ? ?
????????
? ? ? ??
????????案例3:圓角矩形???
????????????經常用來作為背景使用
????<?xml?version="1.0"?encoding="utf-8"?>???? ????<!--?圓角矩形?--> ????<shape?xmlns:android="http://schemas.android.com/apk/res/android"? ????????android:shape="rectangle" ????????> ????????<solid?android:color="#66968778"?/> ???? <corners?android:radius="5dp"/> ???? ? ????</shape>
? ? 補充擴展:http://kofi1122.blog.51cto.com/2815761/521605?? 介紹了shape子標簽
????? ????????
3. ?狀態選擇器selector
? 作用:管理資源(圖片、顏色),根據控件所處的狀態顯示資源。
? 應用場景:如在textview點擊的時候,變換顏色或背景,可以讓用戶知道有沒有點擊上。
? 定義步驟:
????1)在res/drawable目錄下創建xml文件,選擇selector標簽。
???? ?
???? ?點擊finish,會自動生成如下xml文件:
???? ?
? ? 2)定義item標簽,表示不同狀態下選擇器指向的資源。
???? ?■item既可以指向drawable資源,也可以指向color資源(不能直接寫顏色值,要定義在
????? ?color標簽里,transparent除外)。
????? ■item的狀態有很多,有的是短暫的、臨時的狀態(如pressed等),有的是永久的狀態
????????(如enabled、selected等)。
???? ?■一個xml文件里可以有多個item,但是默認的item(沒有指明狀態的)一定要放到最后
???? ??(千萬記住了)
? ? ? ?■xml中各個item的資源可以保持一致,要么都是drawable,要么都是color,也可以即是
????? ?drawable又是color,只要綁定這個選擇器的屬性同時支持圖片和顏色,如background。
???? ?示例1:指向color資源的選擇器
????????
????? ? ?
????? 示例2:指向drawable資源的選擇器 ?
4. 自定義進度條樣式
? 還是使用系統自帶的水平進度條樣式
? ? ??
? 但是在它的基礎上要修改一下它的樣式
? ?
? 其實,舉一反三,系統任何的組件,都可以自定義它的樣式。
? ?
Inflate:
?1)inflate的parent不為null,view會自動添加到parent中。
?final ViewGroup newView = (ViewGroup) LayoutInflater.from(this).inflate(
? ? ? ? ? ? ? ? R.layout.list_item_example, mContainerView, false);
? ? ? ? ??
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。