ImageView隐藏并显示

时间:2018-01-20 17:23:12

标签: java android android-layout android-imageview

我很难让我的Android应用程序以编程方式显示和隐藏imageView对象。实际上我很难从imageView对象中获得预期的行为。

关注此question的答案,

以下是我正在测试的内容:

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{

@Override
protected void onCreate(Bundle savedInstanceState) {

    ImageView warn = (ImageView)findViewById(R.id.gpsStatusWarning);

    warn.setImageResource(R.drawable.gps_error);
    warn.getLayoutParams().height = 64;
    warn.getLayoutParams().width = 64;
}

}

上述代码在父活动的OnCreate方法中调用,它完全符合我的预期:它将对象的图像更改为指定的图像,并设置所述对象的高度和宽度。但是,我似乎无法将对象设置为INVISIBLE或GONE。事实上,我根本无法让它消失。我试过了两个:

    warn.setVisibility(View.INVISIBLE);
    warn.setVisibility(View.GONE);

但图像仍然可见。我甚至尝试在XML中将其更改为

    android:visibility="gone"

但即便如此也没有帮助。图像仍然可见。

我做错了什么?我错过了对某些更新方法的调用吗?设置图像资源是否会强制绘制图像?

3 个答案:

答案 0 :(得分:1)

这是您以编程方式在Android上设置' Variables Dim lngCounter As Long Dim lngInternCounter As Long Dim lngNumberOfReptions As Long Dim lngNumberOfRegistersPerReptions As Long Dim lngNumberOfFirstField As Long: lngNumberOfFirstField = 1 Dim lngNumberOfSecondField As Long: lngNumberOfSecondField = 2 Dim lngNumberOfThirdField As Long: lngNumberOfThirdField = 3 Dim lngIndexMinArray As Long Dim lngIndexMaxArray As Long Dim lngIndexMinAux As Long Dim lngIndexMaxAux As Long Dim lngIndexRowCell As Long 个对象的可见性的方法:

ImageView

您还可以在XML布局文件中设置yourImage.setVisibility(View.VISIBLE); yourImage.setVisibility(View.INVISIBLE); yourImage.setVisibility(View.GONE); 个对象的初始状态,如下所示:

ImageView

您可以按照关于visibility="visible" visibility="gone" visibility="invisible" 控件的官方文档在以下链接中自行试用。 Learn how to set the visibility state of a view.

答案 1 :(得分:0)

尝试:

warn.setImageResource(0);

或者:warn.setImageResource(android.R.color.transparent);

答案 2 :(得分:0)

imageView.setVisibility(View.GONE); imageView.setVisibility(View.VISIBLE);