gpt4 book ai didi

android - 帮助 Android LinearLayout 或 RelativeLayout

转载 作者:搜寻专家 更新时间:2023-11-01 09:18:17 24 4
gpt4 key购买 nike

我需要以编程方式创建两个 View (因为我需要访问其中一个 View 的 ondraw)。出于某种原因,无论我如何将 View 添加到内容 View ,它们都不会垂直堆叠显示,一个在另一个下面。

我可以使用使用 RelativeLayout 和布局定位的 XML 来很好地完成它,但是使用 XML 我无法创建 View 对象并重载 ondraw 方法。

我在程序化方法中做错了什么,我该如何解决这个问题?

LinearLayout mLinearLayout;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Create a LinearLayout in which to add the ImageView
mLinearLayout = new LinearLayout(this);

TextView tv = new TextView(this);
tv.setBackgroundColor(0xff333333);
tv.setText("Enter your member number:");
tv.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));



DrawableView i = new DrawableView(this);
i.layout(0,40,0,0);
i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));

mLinearLayout.addView(tv);
mLinearLayout.addView(i,300,300);
setContentView(mLinearLayout);
}

最佳答案

似乎有两个问题,尽管调试此代码比调试 XML 更难。

首先,您未能将线性布局的方向设置为垂直。对于水平方向,一切都将是一条线。对于垂直布局,每个小部件将从上到下位于单独的行上。

其次,“Fill Parent”看起来很可疑。除非相对布局或绝对大小阻止它,否则任何填充父级都会接管所有内容并隐藏所有其他小部件。这几乎总是错误的解决方案。尝试使用重量。

您可能会考虑先在 XML 中完全按照您喜欢的方式获取它,然后将其转换为编程设置,尽可能保持转换的机械性。祝你好运!

关于android - 帮助 Android LinearLayout 或 RelativeLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2963414/

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