0
我有这个自定义视图(相对布局),其中一些其他视图高度的基础上,我试图设置阿尔法和可见性。查看#setVisibility在API上不可见<17
我的alpha值根据视图高度而变化,我检查我的alpha是否为< CONSTANT(如0.033)我将该视图的可见性设置为可见。一切正常上面的API 18 n,但由于某种原因,它不适用于较低的API。
代码看起来是这样的
if (val< 0.033){
setVisibility(GONE);
} else {
setVisibility(VISIBLE);
for (int i = getChildCount()- 1; i >= 0; i--) {
View v = getChildAt(i);
v.setVisibility(VISIBLE);
v.invalidate();
}
}
setAlpha(val);
invalidate();
我真的需要Visibility.GONE
和Visibility.VISIBLE
,以便为我的观点做正常运作。 Visibility.INVISIBLE
不符合我的要求。
我试图在Logcat中打印出可见性,它在logcat中显示VISIBLE,但是在实际的设备上它不是。
还有一件事,如果我没有设置VISIBILITY GONE,即使在较低的API上,一切都可以正常工作。
所以主要问题是一旦可见性设置为走了我不能使其可见再次
尝试:
我想经历所有的子视图,使它们可见。 =不工作:(
for (int i = getChildCount()- 1; i >= 0; i--) { View v = getChildAt(i); v.setVisibility(VISIBLE); }
- 打过电话后无效我设置的知名度=不工作:(
- 试图这样做既让孩子视图中显示和呼叫后失效。
我有我的哪个类扩展相对布局的自定义视图。所以呼吁someView.setVisibility是一样调用setVisibility( GONE) – user3354265
或尝试使用setVisiblity(View.GONE) –