在该应用程序中,我正在为自定义 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 的容器。换句话说,像LinearLayoutRelativeLayout这样的布局是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/

10-11 14:45