引言
上一節(jié)中提到了一個(gè)問題,圖片通常應(yīng)該存放的位置在哪里,是放在mipmap下還是drawable下。
其實(shí)當(dāng)時(shí)我已經(jīng)接受了官方的建議,但是用AndroidStudio創(chuàng)建一個(gè)新項(xiàng)目時(shí),首先是drawable文件夾下面沒有分類成各種分辨率的文件夾,其次新建drawable-hdpi等文件夾時(shí),并在android視圖下的項(xiàng)目結(jié)構(gòu)中,并沒有看到生成的文件夾,但是show in Explorer時(shí),又能看到新建的文件夾。因此,我將各種分辨率的PNG資源圖片都存放在了mipmap文件夾下了。但是在使用TextView中的drawableTop等方式時(shí),xml中引用沒問題,代碼中更改圖片資源時(shí)出現(xiàn)了問題,猜測是因?yàn)?,textview更換資源圖片的方法都是setDrawable方法,傳入?yún)?shù)應(yīng)該也是drawable,而我傳入的參數(shù)值為getResources().getDrawable(R.mipmap.xx),所以帶著這樣的疑問,我來寫寫關(guān)于標(biāo)準(zhǔn)化、流程化的drawable文件存放方式。
正文
官方文檔中有介紹:

顯然mipmap是用來存放應(yīng)用圖標(biāo)的 ,drawable才是放圖片資源的
在我們創(chuàng)建工程時(shí),
Androidstudio會自動幫我們創(chuàng)建drawable文件夾,但是并沒有創(chuàng)建不同分辨率的,只能自己動手了 !在
project視圖下找到res文件夾右鍵–New–Android resource directory

- Resource type 選擇drawable

- 分別創(chuàng)建不同的分辨率

- 在
AndroidStudio安裝目錄\plugins\android\lib\templates\gradle-projects\NewAndroidModule下 打開recipe.xml.ftl文件添加
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-hdpi" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-xhdpi" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-xxhdpi" />

- 再次創(chuàng)建工程時(shí)
drawable文件夾下就會有不同分辨率的文件夾了