0
到目前爲止,我使用此代碼基於字符串值添加自定義ImageViews屏幕密度繪製資源ID:獲取基於使用字符串
RelativeLayout rl_dashboard = (RelativeLayout) mView.findViewById(R.id.rl_dashboard);
for (int i = 0; i < imageResIDs.size(); i++) {
int drawableResourceId = mActivity.getResources().getIdentifier(imageResIDs.get(i), "drawable", mActivity.getPackageName());
ImageView imageView = new ImageView(mActivity);
imageView.setImageDrawable(ContextCompat.getDrawable(mActivity, drawableResourceId));
rl_dashboard.addView(imageView);
}
但是這一點,因爲我想,給我的最高解析度可繪製,這是xxxdpi atm。有什麼辦法可以拉出特定密度的drawable嗎?
我使用的檢查密度:
DisplayMetrics metrics = new DisplayMetrics();
mActivity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
case DisplayMetrics.DENSITY_LOW:
break;
case DisplayMetrics.DENSITY_MEDIUM:
break;
case DisplayMetrics.DENSITY_HIGH:
break;
case DisplayMetrics.DENSITY_XHIGH:
break;
case DisplayMetrics.DENSITY_XXHIGH:
break;
case DisplayMetrics.DENSITY_XXXHIGH:
break;
}
我會拉起資源之前訪問我的靜態值。
謝謝!