2011-07-12 29 views
12

如何在android中的imageview中删除图像以及如何隐藏整个图像。Android隐藏和删除imageview中的图像

在这里,我已经通过下面的代码在imageview中放置图像。

answerState1.setBackgroundResource(R.drawable.correct); 

我不知道如何删除或隐藏图像。此外,我对android开发完全陌生。

+0

setBackgroundResource(0)是最好的选择。将背景设置为给定的资源。该资源应该引用可绘制对象或0来移除背景。 – Nepster

回答

34

您可以用下面的方法来设置图像的可见度要求:

answerState1.setVisibility(View.GONE); // hide image (make the view gone) 

answerState1.setVisibility(View.VISIBLE); // make image visible 

answerState1.setVisibility(View.INVISIBLE); // make image invisible 

在UI,你也可以做类似如下:

<ImageView android:id="@+id/imgPreview" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
android:visibility="gone"/> 
+4

也niki如果你给View.INVISIBLE你创建的ImageView组件的空间将存在那里.. – jennifer

+0

这就是我现在所做的..基本上我是iphone的iphone开发者,我们可以很容易地从图像中删除图像通过零。或image.removeimage ..有没有什么办法可以像这样做... jeni .. – nik

+1

@niki public static final int GONE 这个视图是不可见的,它不需要任何空间用于布局的目的..所以通常在Android中,我们正在使用此..VieW.GONE – jennifer

2

试试这个 imageview.setVisibility(ImageView.INVISIBLE);

+0

如果我这样做,那么ImageView组件的空间将存在正确.. ?? – nik

+0

@nik - 是....将ImageView设置为INVISIBLE将仍然允许ImageView在UI布局中占据空间。使它成为GONE将导致父母持有ImageView来对待ImageView,因为它从来没有。 – dell116

1

您可以使用answerState1.setVisibility(View.INVISIBLE);使视图看不见,answerState1.setVisibility(View.Gone);使视图不可见。

0

试试下面的代码:

ImageView im = (ImageView)findViewById(R.id.imageView1); 
im.setVisibility(View.INVISIBLE); 
im.getLayoutParams().height = 0; 
+0

将高度更改为0可能会使您想要拉动发完后......想知道为什么在将ImageView重新设置为可见之后,它仍然不可见。 – dell116