1. 程式人生 > >Android檔案命名規範

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)