LayerDrawable在android中无法正常工作

时间:2011-08-02 16:40:25

标签: android drawable

我浏览了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

1 个答案:

答案 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);
    }
});