Android開發專案工程結構
阿新 • • 發佈:2020-12-17
技術標籤:Android
- java:寫Java程式碼的地方,業務邏輯實現的地方
- res:存放我們各種資原始檔的地方,有圖片,字串,動畫,音訊等,還有各種形式的XML檔案
圖片資源:
- drawable:存放各種點陣圖檔案,(.png,.jpg,.9png,.gif等)除此之外可能是一些其他的drawable型別的XML檔案
- mipmap-hdpi:高解析度,一般我們把圖片丟這裡
- mipmap-mdpi:中等解析度,很少,除非相容的的手機很舊
- mipmap-xhdpi:超高解析度,手機螢幕材質越來越好,以後估計會慢慢往這裡過渡
- mipmap-xxhdpi:超超高解析度,這個在高階機上有所體現
佈局資源:
- layout:該目錄下存放的就是我們的佈局檔案,另外在一些特定的機型上,我們做螢幕適配,比如480*320這樣的手機,我們會另外建立一套佈局,就行:layout-480x320這樣的資料夾!
選單資源
- menu:在以前有物理選單按鈕,即menu鍵的手機上,用的較多,現在用的並不多,選單項相關的資源xml可在這裡編寫。
values目錄:
- demens.xml:定義尺寸資源
- string.xml:定義字串資源
- styles.xml:定義樣式資源
- colors.xml:定義顏色資源
- arrays.xml:定義陣列資源
- attrs.xml:自定義控制元件時用的較多,自定義控制元件的屬性!
- theme主題檔案,和styles很相似,但是會對整個應用中的Actvitiy或指定Activity起作用,一般是改變視窗外觀的!可在Java程式碼中通過setTheme使用,或者在Androidmanifest.xml中為<application…>新增theme的屬性!
PS:你可能看到過這樣的values目錄:values-w820dp,values-v11等,前者w代表平板裝置,820dp代表螢幕寬度;而v11這樣代表在API(11),即android 3.0後才會用到的!
raw目錄
用於存放各種原生資源(音訊,視訊,一些XML檔案等),我們可以通過openRawResource(int id)來獲得資源的二進位制流!其實和Assets差不多,不過這裡面的資源會在R檔案那裡生成一個資源id而已
動畫目錄
- animator:存放屬性動畫的XML檔案
- anim:存放補間動畫的XML檔案
如何使用這些資源?
所有的資原始檔都會在R.java檔案下生成一個資源id,我們可以通過這個資源id來完成資源的訪問,使用情況有兩種:Java程式碼中使用和XML程式碼中使用。
Java 文字:
txtName.setText(getResources().getText(R.string.name));
圖片:
imgIcon.setBackgroundDrawableResource(R.drawable.icon);
顏色:
txtName.setTextColor(getResouces().getColor(R.color.red));
佈局:
setContentView(R.layout.main);
控制元件:
txtName = (TextView)findViewById(R.id.txt_name);
XML程式碼中使用:
通過@xxx即可得到,比如這裡獲取文字和圖片:
<TextView android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background = "@drawable/img_back"/>