我需要以编程方式创建两个视图(因为我需要访问其中一个视图的ondraw)。出于某种原因,无论我如何将视图添加到contentview,它们都不会显示为垂直堆叠,一个在另一个之下。帮助Android的LinearLayout或RelativeLayout
我可以做到这一点,使用XML使用RelativeLayout和布局定位,但与XML我不能创建一个视图对象和超载的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);
}
问题解决了,非常感谢! – PeEll 2010-06-03 11:16:02
@PeEll:如果修复了这个问题,您可能需要将此标记为给予Suresh信用的正确答案。这就是说,我强烈建议使用mLinearLayout.setOrientation(VERTICAL)而不是mLinearLayout.setOrientation(1)。这会改善你的代码的可读性。 – 2010-06-03 12:54:28