在应用程序中,我正在努力,我有自定义视图。 我无法在布局XML文件中声明它,因为我将从包含我的自定义视图实例的活动中使用in,并且我需要访问它(不能覆盖findViewById ...)。
我决定将所有GUI元素声明到Activity中。
但我简直无法前进一步,因为我甚至无法实例化viewGroup ...
这就是我正在尝试的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewGroup vg = new ViewGroup(this.getApplicationContext());
setContentView(vg);
}
我得到'无法实例化ViewGroup'......
有人可以直截了当地举例说明如何声明一个包含视图的viewGroup吗?
该类的文档也不是非常适合初学者...所有的例子都集中在描述布局XML文件中的布局......?
欣赏你的efford,举个例子!
答案 0 :(得分:7)
[ViewGroup][1]
是一个抽象类,你无法实例化它。它定义了一种类,它们是将其他视图放入其中的容器。换句话说,LinearLayout
RelativeLayout
之类的布局是ViewGroup。因此,你可以这样做:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout vg = new LinearLayout(this);
// set the LayoutParams the way you want.
// and add textviews, imageviews, ... here for instance.
setContentView(vg);
}
对于LayoutParams
,我认为你应该从LayoutParams.Fill_parent开始