【发布时间】:2018-01-20 17:23:11
【问题描述】:
我正在努力让我的 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"
但即使这样也无济于事。图像仍然可见。
我做错了什么?我错过了对某些更新方法的调用吗?设置图片资源会强制绘制图片吗?
【问题讨论】:
-
您应该发布更多相关代码。这将有助于人们了解全局。
标签: java android android-layout android-imageview