1. 程式人生 > >動態設定getDrawable引數

動態設定getDrawable引數

   今天要實現動態設定getDrawable的引數,正常getDrawable使用時getDrawable後面引數是R的地址,不過getDrawable接受的是int型別,也就是實際上是R的id,那麼我們就不能直接把引數的路徑設定為String變量了。

   所以首先我們要把路徑轉換成R的對應id,如下:

   Resources res=getResources(); 

   int del = res.getIdentifier(type,"drawable",getPackageName());

  其中getResources方法是來自於contenxt(也就是Activity類),它直接可以返回一個Resouces物件。

  而Resouces的getIdentifier方法可以返回R.java中的任何資源id,三個引數第一個type就是圖片名,第二個就是位置,第三個是包名,getPackageName()的話就是獲取當前的包名,這裡也就是R,然後我們就可以將del作為變數動態設定了。