【发布时间】:2012-10-17 12:25:16
【问题描述】:
正在做一个 Titanium 模块(只是 Android 代码),我需要在视图中显示一个按钮,因此没有 Activity 和 xml 布局。 我有以下代码在我的视图中添加按钮:
public class MyView extends ViewGroup {
public MyView(Context context) {
super(context);
...
Button b=new Button(context);
b.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
b.setText("Some Text");
this.addView(b);
}
}
在 StackOverflow 中搜索,这段代码应该可以工作...但是该按钮从未显示。 如何向视图或视图组添加按钮?
编辑添加 onLayout() 方法:
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
LinearLayout l1=new LinearLayout(_context);
l1.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
l1.setOrientation(LinearLayout.VERTICAL);
Button b1=new Button(_context);
b1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
b1.setText("Button");
l1.addView(b1);
this.addView(l1);
}
感谢您的帮助。-
【问题讨论】:
-
-
您介意发布
onLayout方法吗?另外,您的视图是否设置了一些尺寸? -
@Luksprog onLayout 方法已添加到问题中。我的 View 的大小是显示的宽度和高度。
-
在
onLayout方法中,您必须通过使用所需坐标调用布局方法来布局孩子,而不是再次添加视图。如果您仍然想扩展 ViewGroup,这里有一个教程,它很好地解释了从 ViewGroup parleys.com/#st=5&id=2191&sl=1 构建自定义视图
标签: android button view viewgroup