gpt4 book ai didi

java - 将 View 添加到 GridLayout 中的特定行和列

转载 作者:太空狗 更新时间:2023-10-29 14:41:37 24 4
gpt4 key购买 nike

我的最终目标是能够将 View 拖放到面向网格的布局中(即,将这些 View 的放置限制在单元格而不是任何地方的布局)。

我正在尝试使用 GridLayout 来做到这一点,因为它看起来很合适,但我现在怀疑是否可以使用它来做我想做的事情。

在处理放置时,我尝试将 View 添加到 GridLayout 中:

            GridLayout.Spec row = GridLayout.spec(4);
GridLayout.Spec column = GridLayout.spec(2);
LayoutInflater inflater = LayoutInflater.from(gridLayout.getContext());
gridLayout.addView(inflater.inflate(R.layout.my_view, null), new GridLayout.LayoutParams(row, column));

View 确实被添加到 GridLayout,但没有添加到正确的单元格(对于上面的代码,它是第 5 行第 3 列的单元格)。

我怎样才能正确地做到这一点?除了 GridLayout 之外,我还应该尝试其他东西吗? GridLayout 似乎很合适,因为我还希望能够在其中放置不同大小的 View (即跨越或多或少的单元格的 View )。

谢谢。

编辑:我正在考虑使用 RelativeLayout 并像这样向其添加 View :

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(30, 40);
params.leftMargin = 50;
params.topMargin = 60;
relativeLayout.addView(myView, params);

这样,我可以指定 View 的确切坐标(例如 (50;60))。

最佳答案

据我所知,该 api 不提供此功能,但您可以执行以下操作:

你可以设置:

mGridLayout.setOrientation(GridLayout.HORIZONTAL);

mGridLayout.setOrientation(GridLayout.VERTICAL);

如何组织

mGridLayout.addView(view)

在网格中添加 child 。使用第一种方法(默认),子元素首先按列填充,而第二种方法首先按行填充

关于java - 将 View 添加到 GridLayout 中的特定行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47116685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com