ImageView图像未出现在ViewGroup中

时间:2011-08-11 19:42:37

标签: android imageview viewgroup

作为ImageView的{​​{1}}的孩子,我有一个ViewGroupGridViewImageView的drawable没有出现,但是我可以看到背景颜色,如果我在setBackgroundDrawable中使用drawable,则显示它。我已经尝试更改每个属性并调用invalidate(),但没有一个使得drawable出现。

Log.i打印

 android.graphics.drawable.BitmapDrawable@407bd4c0

setImageResource(int)也不起作用。

我正在使用Honeycomb。

public MyViewGroup(Context context) {
    super(context);

    myImageView = new ImageView(context);
    myImageView.setBackgroundColor(Color.RED);
    myImageView.setScaleType(ImageView.ScaleType.CENTER);
    Drawable drawable = this.getResources().getDrawable(R.drawable.myimage);
    myImageView.setImageDrawable(drawable);
    Log.i("",drawable+"");
    //myImageView.setImageResource(R.drawable.myimage);
    addView(myImageView);
}

我省略了onLayout代码,我在其中调用setLeft() setTop() setRight()setBottom()

非常感谢任何帮助。感谢。

更新: 也无法使用android.R.drawable图像。我很难过。

3 个答案:

答案 0 :(得分:1)

也许问题是,您没有设置布局参数。尝试:

LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, WRAP_CONTENT);
myImageView .setLayoutParams(params);

答案 1 :(得分:0)

尝试将图像设置为位图,然后将其设置为可绘制。

Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.myimage)
Drawable drawable = new BitmapDrawable(bmp);"
 myImageView.setImageDrawable(drawable);

出于好奇:为什么要在构造函数中执行所有这些操作?

答案 2 :(得分:0)

如果父布局的宽度/高度为fill_parent,则将其更改为wrap_content可能会有效。

我在Honeycomb中使用带有可绘制布局的ImageView来解决这个问题 - 图像是从我出现的对话框的宽度判断出来的,但是我看不到图像本身。 ImageView的父级是一个带有fill_parent的LinearLayout。切换到wrap_content会立即修复它。