我浏览了developer.android.com上的LayerDrawable教程并为自己编写了这段代码:
Button b1 = (Button)findViewById(R.id.button2);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ImageView iv1 = (ImageView)findViewById(R.id.imageView1);
Drawable []dr = new Drawable[2];
dr[0] = TestSpaceActivity.res.getDrawable(R.drawable.yellow_triangle);
dr[1] = TestSpaceActivity.res.getDrawable(R.drawable.red_triangle);
LayerDrawable ld=(LayerDrawable)res.getDrawable(R.drawable.bubble);
iv1.setImageDrawable(ld);
}
});
但遗憾的是它只显示了dr [1]中的图像。根据我的理解,我认为它应该显示两个图像重叠在一起。请帮助我,让我知道这有什么问题,并告诉我,我所理解的是正确还是错误。
问候..
Pavan Karanam
答案 0 :(得分:1)
它无法正常工作,因为您从未设置过drawable。
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
ImageView iv1 = (ImageView)findViewById(R.id.imageView1);
Drawable []dr = new Drawable[2];
dr[0]=TestSpaceActivity.res.getDrawable(R.drawable.yellow_triangle);
dr[1]=TestSpaceActivity.res.getDrawable(R.drawable.red_triangle);
LayerDrawable ld = new LayerDrawable(dr);
iv1.setImageDrawable(ld);
}
});