0

经过几天的寻找,我来到了源头。我有在 Eclipse 图形布局中绘制和创建的主屏幕。它由屏幕顶部的按钮组成。按钮下方是 image.png 区域。在应用程序启动时,它会正确显示。顶部的按钮和按钮下方的图形图像。在按下每个按钮时,我希望更改图像。我可以提供可绘制或位图图像(想通了)。我需要帮助。我不明白的是如何使用 XML 生成屏幕按钮来显示外部图像。

我目前有很多测试试验,但没有一个能给我我想要的东西。我想将可绘制图像或位图图像放入R.id.imgVwMain并使其与按钮一起显示。我知道我在提供的内容中有额外的代码。 R.id.imgVwMain作为默认值,在启动时(即启动屏幕)中有一个图像,但我想在按钮按下时动态替换它。

代码片段:

ImageView img=new ImageView(this);  
View image;
Drawable drawable= getImg(0);   // GETS NEW IMAGE as drawable
img.setImageDrawable(drawable); 

//setContentView(img); // when uncommented displays just the image no buttons, not what needed
//R.id.imgVwMain    // the target ID to place the new image into

image = findViewById(R.id.imgVwMain);

ImageView imageView=(ImageView)findViewById(R.id.imgVwMain);  

imageView.setImageBitmap(drawableToBitmap(drawable));

image.setImageResource(imageView);

setContentView(R.layout.main);  //of course this just displays default of the XML
4

2 回答 2

0

您可能可以使用addView动态添加 imageView,同样调用 removeView 以摆脱 imageView。在某些时候,您还需要设置布局参数。希望这会让你开始:

myParentViewOrLayout.removeView(oldImage);

ImageView newImage = (ImageView) findViewById(R.id.imgToAdd);
//Set your layoutParams
myParentViewOrLayout.addView(newImage);
于 2012-06-09T04:24:13.020 回答
0

将 onClickListeners 设置到您的按钮上,如下所示:

Button mButton = (Button) findViewById(R.id.my_button);
mButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        ImageView ivImage = (ImageView) findViewById(R.id.imgVwMain);
        ivImage.setImageDrawable(getImg(0));
    }
});

现在,每当单击按钮时,它都会将您的 imageview 的图像设置为您想要的任何内容。

于 2012-06-09T04:29:00.270 回答