Android 中的可见性消失
Posted
技术标签:
【中文标题】Android 中的可见性消失【英文标题】:Visibility to Gone in Android 【发布时间】:2020-10-27 13:56:33 【问题描述】:我正在研究动态视图。我很喜欢生成图像视图的 id ,使用循环进行约束并在代码中设置所有内容。我想要一个暂停和开始按钮。如果我点击暂停,除了播放按钮之外,一切都应该是不可见的。有可能吗?
ImageView[][] imageView = new ImageView[levelHeight][levelWidth];
//setting each imageview's id and conatraints
for (int i = 0; i < 5; ++i)
for (int j = 0; j < 5; ++j)
imageView[i][j] = new ImageView(this);
imageView[i][j].setId(View.generateViewId());
imageView[i][j].setLayoutParams(new ConstraintLayout.LayoutParams(viewWidth, viewWidth));
mainLayout.addView(imageView[i][j]);
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(mainLayout);
if ((i == 0) && (j == 0))
constraintSet.connect(imageView[i][j].getId(), ConstraintSet.LEFT, mainLayout.getId(), ConstraintSet.LEFT, 0);
constraintSet.connect(imageView[i][j].getId(), ConstraintSet.TOP, mainLayout.getId(), ConstraintSet.TOP, 0);
if (j != 0)
constraintSet.connect(imageView[i][j].getId(), ConstraintSet.LEFT, imageView[i][j - 1].getId(), ConstraintSet.RIGHT, 0);
constraintSet.connect(imageView[i][j].getId(), ConstraintSet.TOP, imageView[i][j - 1].getId(), ConstraintSet.TOP, 0);
if (i != 0)
// newTopMargin=newTopMargin+viewHeight;
constraintSet.connect(imageView[i][j].getId(), ConstraintSet.LEFT, imageView[i - 1][j].getId(), ConstraintSet.LEFT, 0);
constraintSet.connect(imageView[i][j].getId(), ConstraintSet.TOP, imageView[i - 1][j].getId(), ConstraintSet.BOTTOM, 0);
constraintSet.applyTo(mainLayout);
【问题讨论】:
在此处发布您的代码 请不要仅仅因为您使用 android-studio 标签而标记问题:Android Studio 标签应该仅在您对 IDE 本身有疑问时使用,而不是您在其中编写(或想要编写)的任何代码。请参阅 when is it appropriate to remove an IDE tag、How do I avoid misusing tags? 和 the tagging guide。请改用 [android] 或其他相关标签。 对不起。我不会那样做的 【参考方案1】:遍历您的二维图像数组,每次将每个项目设置为消失:
for (int i = 0; i < 5; ++i)
for (int j = 0; j < 5; ++j)
imageView[i][j].setVisibility(VIEW.GONE)
【讨论】:
谢谢。那行得通。我只需要在创建 Activity 之前声明 imageView,以便在单击按钮时可以访问它。【参考方案2】:为您希望使其可见性消失的每个项目定义此项:
item.visibility=View.GONE
【讨论】:
这就是问题所在。我正在使用动态视图。通过 View 生成 id 所以不知道 ids 。 所以你的问题是找到 id 而不是设置可见性到 GONE @ManpreetNarang以上是关于Android 中的可见性消失的主要内容,如果未能解决你的问题,请参考以下文章