gpt4 book ai didi

java - View 添加到 ViewGroup 后不可见

转载 作者:行者123 更新时间:2023-12-01 09:38:32 24 4
gpt4 key购买 nike

我正在以编程方式将 View 添加到 FrameLayout 中:

public class PixelGridView extends FrameLayout {
...
public void addViewWithoutCoords(TableView view, int column, int row) {
float x = column * mCellSideSize;
float y = row * mCellSideSize;

FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
view.setLayoutParams(lp);

view.setLeft(0);
view.setTop(0);

view.setX(x);
view.setY(y);
view.setVisibility(VISIBLE);
addView(view);
}
...
}

然而,它们都是无形的。 getChildCount() 返回所有这些的计数。每个添加的 View 的 getVisibility() 也会返回 VISIBLE

我可以将此类 View 从另一个 ViewGroup 拖放到我的 Framelayout 中,当我这样做时,所有先前添加的 View 都会变得可见。

查看布局文件:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView
android:id="@+id/ivTable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
<EditText
android:id="@+id/ivTableName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@color/style_table_grey"
android:textColor="@android:color/white"/>
</RelativeLayout>

即使我添加新 View 而不拖动,所有内容都会变得可见。

最佳答案

FrameLayoutRelativeLayout 的项目 View 可以重叠。如果两个项目 View 位于 FrameLayout 的相同位置,则第一个加载的项目将被后面的项目覆盖。

关于java - View 添加到 ViewGroup 后不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38631941/

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