我有这个自定义视图(相对布局),其中基于一些其他视图高度我正在尝试设置alpha和可见性。
我的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);
}
答案 0 :(得分:0)
在您的代码中,它就像setVisibility(GONE);
但它应该像someView.setVisibility(GONE);