如何将图像视图添加到约束布局
How to add imageviews to constraint layout
我有一个约束布局。我以编程方式将图像视图添加到具有随机图片的约束布局。当用户单击 "New Game" 按钮时,我想删除所有以编程方式创建的图像视图并随机重新创建它们。
当我编写下面的代码时,正在创建我的图像,但也保留了旧图像。我如何在没有旧图像视图的情况下重新加载我的约束布局?
CLCarrier.addView(卡片[i], -1);
您可以通过以下几种不同的方式执行此操作。
从您的 ConstraintLayout 中删除所有视图
所有 ViewGroup
子类都支持 removeAllViews()
方法。这将删除当前在 ViewGroup 中的每个子项,因此只有当您想要删除 everything 时才合适。如果你想保留一些视图,这将不起作用。
在添加 ImageView 时跟踪它们,然后一个一个地删除它们
也许你在某处保留了一个 List<ImageView> images
变量,当你将图像添加到你的 ConstraintLayout 时,你也调用了 images.add(myImageView)
。然后,这将为您提供一组视图,您可以迭代并调用 removeView()
on:
for (ImageView image : images) {
constraintLayout.removeView(image);
}
重新膨胀原来的 ConstraintLayout
如果您不想使用 removeAllViews()
并且您也不想跟踪所有视图以便稍后删除它们,您可以通过重新膨胀来重新初始化您的 ConstraintLayout原始布局。
LayoutInflater inflater = LayoutInflater.from(this); // requires a `Context` object
constraintLayout = inflater.inflate(R.layout.constraint_layout, parent, false);
我有一个约束布局。我以编程方式将图像视图添加到具有随机图片的约束布局。当用户单击 "New Game" 按钮时,我想删除所有以编程方式创建的图像视图并随机重新创建它们。
当我编写下面的代码时,正在创建我的图像,但也保留了旧图像。我如何在没有旧图像视图的情况下重新加载我的约束布局?
CLCarrier.addView(卡片[i], -1);
您可以通过以下几种不同的方式执行此操作。
从您的 ConstraintLayout 中删除所有视图
所有 ViewGroup
子类都支持 removeAllViews()
方法。这将删除当前在 ViewGroup 中的每个子项,因此只有当您想要删除 everything 时才合适。如果你想保留一些视图,这将不起作用。
在添加 ImageView 时跟踪它们,然后一个一个地删除它们
也许你在某处保留了一个 List<ImageView> images
变量,当你将图像添加到你的 ConstraintLayout 时,你也调用了 images.add(myImageView)
。然后,这将为您提供一组视图,您可以迭代并调用 removeView()
on:
for (ImageView image : images) {
constraintLayout.removeView(image);
}
重新膨胀原来的 ConstraintLayout
如果您不想使用 removeAllViews()
并且您也不想跟踪所有视图以便稍后删除它们,您可以通过重新膨胀来重新初始化您的 ConstraintLayout原始布局。
LayoutInflater inflater = LayoutInflater.from(this); // requires a `Context` object
constraintLayout = inflater.inflate(R.layout.constraint_layout, parent, false);