首页 > 解决方案 > Android 中的可见性消失

问题描述

我正在研究动态视图。我很喜欢生成图像视图的 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);

标签: androidviewvisibility

解决方案


为您希望使其可见性消失的每个项目定义此:

item.visibility=View.GONE

推荐阅读