Android檔案命名規範
(一) Layout命名
1.contentview命名:activity_功能模組.xml
例如:activity_main.xml、activity_more.xml
2.Dialog命名:dialog_描述.xml
例如:dlg_hint.xml
2.PopupWindow命名:ppw_描述.xml
例如:ppw _info.xml
3. 列表項命名listitem_描述.xml
例如:listitem_city.xml
4.包含項:include_模組.xml
例如:include_head.xml、include_bottom.xml
(二) 圖片命名
1. 靜態圖片字首_模組、字首_模組_描述
例如:bg_main.png、ic_main_search.png
2. 動態圖片字首_模組_描述_狀態、字首_描述_狀態
例如:btn_film_buy_n.png、btn_film_buy_p.png、btn_back_n.png
如果有多種形態如按鈕等除外如btn_film_buy.xml(selector)
(三) id命名(待調整??)
Xml中id的命名,建議直接根據意義命名,不必使用以上覆雜的定位,因為findViewById只在某指定layout中find。或者value中建立id檔案統一管理(相容性不好)
原文作者常用:android:id="@id/tv_name"android:id="@id/listv"、android:id="@id/tv_head_title"
個人習慣使用:android:id="@id/tvName"android:id="@id/listvName"、android:id="@id/tvHeadTitle",然後在class裡的命名和id名字保持一致
(四) 字串命名
最好不要跟title、dialog、button等東西關係起來,直接用相同英文含義就可以了,如果下:
<string name="ok">確定</string>
<string name=" welcome_to_use">歡迎使用</string>
再舉一些不好的例子,如下<string name="menu_ok ">確定</string>
(五) 控制元件命名
控制元件縮寫_描述
例如:TextViewtv_name、Button btn_buy、LinearLayoutllyt_body;
(六) 類命名
功能模組Activity.class 功能模組Service.class
如:MainActivity.class HuaFuBaoActivity.classAppUpgradeService.class
資源縮寫說明
字首 |
說明 |
ic --icon |
主要用於佈局和子佈局的圖示 |
bg--background |
主要用於佈局和子佈局的背景 |
di--divider |
主要用於分隔線,不僅包括Listview中的還包括普通佈局中的線 |
sl--selector |
主要用於某一view多種狀態,listview 按鈕等 |
cl--color |
主要用於顏色值 |
bt--button |
主要用於按鈕的表示,有時我們會在ic和bt之間猶豫,簡單的區分即是功能檢視,如果一個view執行的時back或者confirm或者cancel的功能,則命名上則應該使用bt |
字尾 |
說明 |
unit |
在使用xml的tilemode來配圖片時,element圖片使用此後綴 |
nor |
圖片的狀態,代表普通狀態 |
hl |
圖片的狀態,代表高亮狀態 |
press |
圖片的狀態,代表按下狀態 |
select |
圖片的狀態,代表其所佔的view被選中 |
unselect |
圖片的狀態,代表其所佔的view沒有被選中 |
元件名稱對照表
元件名稱 |
簡寫 |
元件名稱 |
簡寫 |
Button |
Btn(btn) |
RadioButton |
Rbtn(rbtn) |
ImageButton |
Ibtn(ibtn) |
TextView |
Tv(tv) |
ImageView |
Iv (iv) |
ListView |
Lv(lv) |
ProgressBar |
Pbar(pbar) |
EditText |
Edtv(et) |
ScrollView |
Sclv(scly) |
CheckBox |
Chk(chk) |
RelativeLayout |
Rlyt(rlyt) |
LinearLayout |
Llyt(llyt) |
TableLayout |
Tlyt(tlyt) |
AbsoluteLayout |
ALyt(alyt) |
FrameLayout |
Flyt(flyt) |