在该应用程序中,我正在为自定义 View 而苦苦挣扎。
我无法在布局XML文件中声明它,因为我将从包含我的自定义 View 实例的 Activity 中使用它,并且我需要对其进行访问(不能覆盖findViewById ...)。
因此,我决定将所有GUI元素都声明到Activity中。
但是我根本无法向前迈出一步,因为我什至无法实例化viewGroup ...
这是我正在尝试的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewGroup vg = new ViewGroup(this.getApplicationContext());
setContentView(vg);
}
我得到“无法实例化ViewGroup” ...
有人可以举一个简单的例子,说明如何声明一个包含 View 的viewGroup吗?
该类的文档也不太适合初学者...所有示例都集中于描述布局XML文件中的布局...?
赞赏您的efford,举一个例子!
最佳答案
[ViewGroup][1]
是一个抽象类,您无法实例化它。它定义了一种类型的类,这些类将成为在其中放置其他 View 的容器。换句话说,像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开始关于android:newby GUI问题-如何在不使用布局XML文件的情况下声明viewGroup?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4354787/