作为ImageView
的{{1}}的孩子,我有一个ViewGroup
。GridView
。 ImageView
的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图像。我很难过。
答案 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会立即修复它。