0

此代码适用于所有版本的 Android,但不适用于 Android 4.1

//我在模拟器上运行它。

图像img_1.png存在于文件夹中/res/drawable/

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

LinearLayout llMain = new LinearLayout(this);
LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
llMain.setLayoutParams(lp);

ImageView iv = new ImageView(this);
int resid = getResources().getIdentifier("img_1", "drawable", getPackageName());        
Drawable imageDrw = getResources().getDrawable(resid);
iv.setImageDrawable(imageDrw);                      

    llMain.addView(iv); 

setContentView(llMain);
}

为什么?

4

2 回答 2

0

以下代码在 4.1 中运行良好

relative.setBackgroundResource(getResources().getIdentifier(
            "image", "drawable", "com.package.application"));

所以你可以设置

iv.setImageResource(getResources().getIdentifier(
                "image", "drawable", "com.package.application"))
于 2012-07-31T10:01:39.140 回答
0

我有同样的问题,我通过将图像移动到drawable-xhdpi.

在 Android 4.1 中从较小的 dpi 传输图像大小可能存在一些问题。

于 2012-09-11T09:12:29.153 回答