2013-11-28 24 views
0

還有就是Android的SDK API演示內部代碼使用setImageDrawable提請動態圖標

i.setImageDrawable(info.activityInfo.loadIcon(getPackageManager())); 
i.setScaleType(ImageView.ScaleType.FIT_CENTER); 
final int w = (int) (64 * getResources().getDisplayMetrics().density + 2f); 
i.setLayoutParams(new GridView.LayoutParams(w, w)); 

有人可以解釋這個代碼? havnt在網上發現任何東西。

有提到「setImageDrawable」是爲了在屏幕上繪製東西的谷歌文檔 而同樣「GetPackageManager」用於返回PackageManager實例以查找全局包信息。 現在的問題是我無法找到項目文件夾中的圖標列表,再加上,我怎麼能改變它顯示我的圖標,而不是添加事件點擊它們。

回答

2

到代碼ü有postet,第一行中,有ü加載圖標並進行設置。

第二種是將圖像的邊界縮放到此視圖的邊界,FIT_CENTER將其縮放到屏幕的中心。

第三,U計算的寬度和在第四U將其設置爲ImageView的(設定的大小)。

圖標ü可以在SDK文件夾中找到。 (\路徑到您的-Android的SDK文件夾\ \平臺Android的XX \ DATA \ RES)

加載找你自己的圖標使用:

setImageDrawable(getResources().getDrawable(R.drawable.icon)); 

和聽衆:

imageView.setOnClickListener(clickListener); 
OnClickListener clickListener = new OnClickListener() { 
    public void onClick(View v) { 
       if (v.equals(imageView)) { 
        // you'r code here 
       } 
      } 
}; 
+0

感謝您的答案,多一個小問題,我如何找到「getPackageManager」路由到它的圖標列表? –

+0

我認爲那是你可以在這個路徑上找到的默認圖標:(\ path-to-your-android-sdk-folder \ platforms \ android-xx \ data \ res。我不確定因爲我沒有一個正在運行的android sdk在這mashine我目前正在寫 –

+0

感謝位置:) –