setVisibility(View.GONE)和setAlpha(0f)有什么区别?
答案 0 :(得分:10)
setVisibility(View.GONE)不仅会隐藏您的视图,还会回收此视图占用的空间。但是setAlpha(0f)等同于setVisibility(View.INVISIBLE),它只隐藏视图并仍占用布局中的空间。
答案 1 :(得分:3)
setVisiblity(View.GONE)
使视图不可见:
此视图不可见,并且不需要任何空间用于布局。
setAlpha(0)
只是使视图透明,但它仍然在空间中并且能够与之交互。
Alpha文档:http://developer.android.com/reference/android/view/View.html#setAlpha(float)
可见性文档:http://developer.android.com/reference/android/view/View.html#setVisibility(int)
答案 2 :(得分:1)
如果您需要删除它们然后再次显示它们,最好将可见性设置为已消失,然后再次更改为可见。 setAlpha(0f)等效于仅隐藏视图的setVisibility(View.INVISIBLE)
答案 3 :(得分:0)
setAlpha() - 设置视图的不透明度。这是一个从0到1的值,其中0表示视图完全透明,1表示视图完全不透明,如(0
答案 4 :(得分:0)
我认为定义以下所有 3 不同案例之间的区别是很有价值的。
请注意,还要设置可见性(View.INVISIBLE), setAlpha(0f)不同。
setVisibility(View.GONE)
隐藏视图并删除视图占用的空间。停用绑定到视图的 OnClickListener 。
setVisibility(View.INVISIBLE)
隐藏视图并保留视图占用的空间。使绑定到视图的 OnClickListener 无效-如果单击了占用的空间,则不会触发该事件。
setAlpha(0f)
隐藏视图并保留视图占用的空间。保持绑定到视图的 OnClickListener 处于活动状态-> 如果单击了占用的空间,则会触发该事件。
答案 5 :(得分:0)
setVisibility(View.GONE)
使您的视图不可见且不占地方(与View.INVISIBLE
不同)
setAlpha(0f)
使您的视图变得透明,但该视图仍占据位置,并且可以接收到诸如单击事件之类的事件