动态添加 ImageView 到 RelativeLayout :不可见
Adding ImageView to RelativeLayout dynamically : Not Visible
我正在我的代码中动态添加 ImageView
到相对布局。
但是这个 imageView 有时可见,有时不可见。我在调试时可以看到图像正在添加到布局中。
我什至用过invalidate();
refreshDrawable();
但是没用。
任何想法或帮助将不胜感激。
首先,我要删除之前添加到相对布局的图像..
int size= lv_header.getChildCount();
for(int i=size;i>=0;i--)
{
if(lv_header.getChildAt(i) instanceof ImageView)
{ if(lv_header.getChildAt(i)!=null){
lv_header.removeViewAt(i);
break;
}
}
}
之后,我添加了新的 imageView..
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,v.getId());
lv_header.addView(imageButton,lp);
imageButton.refreshDrawableState();
lv_header.invalidate();
您似乎要将一个 ImageView 替换为另一个?
为什么不只保留原始 ImageView 并使用 setImageDrawable() 或 setImageBitmap() 更改其可绘制源?
我正在我的代码中动态添加 ImageView
到相对布局。
但是这个 imageView 有时可见,有时不可见。我在调试时可以看到图像正在添加到布局中。
我什至用过invalidate();
refreshDrawable();
但是没用。
任何想法或帮助将不胜感激。
首先,我要删除之前添加到相对布局的图像..
int size= lv_header.getChildCount();
for(int i=size;i>=0;i--)
{
if(lv_header.getChildAt(i) instanceof ImageView)
{ if(lv_header.getChildAt(i)!=null){
lv_header.removeViewAt(i);
break;
}
}
}
之后,我添加了新的 imageView..
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,v.getId());
lv_header.addView(imageButton,lp);
imageButton.refreshDrawableState();
lv_header.invalidate();
您似乎要将一个 ImageView 替换为另一个? 为什么不只保留原始 ImageView 并使用 setImageDrawable() 或 setImageBitmap() 更改其可绘制源?