android: 一个新的 GUI 问题 - 如何声明 viewGroup,没有布局 XML 文件?
Posted
技术标签:
【中文标题】android: 一个新的 GUI 问题 - 如何声明 viewGroup,没有布局 XML 文件?【英文标题】:android: a newby GUI question - how to declare viewGroup, without layout XML file? 【发布时间】:2010-12-04 17:23:44 【问题描述】:在应用程序中,我正在为我有一个自定义视图而苦苦挣扎。 我无法在布局 XML 文件中声明它,因为我将在包含我的自定义视图实例的活动中使用它,并且我需要访问它(无法覆盖 findViewById...)。
因此我决定将所有 GUI 元素声明到 Activity 中。
但我根本无法向前迈出一步,因为我什至无法实例化 viewGroup...
这就是我正在尝试的:
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
ViewGroup vg = new ViewGroup(this.getApplicationContext());
setContentView(vg);
我得到“无法实例化 ViewGroup”...
有人可以举一个简单的例子,说明如何声明一个包含视图的 viewGroup 吗?
该类的文档对初学者也不是很友好...所有示例都集中在描述布局 XML 文件中的布局...?
感谢您的努力,举个例子!
【问题讨论】:
【参考方案1】:[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 开始
【讨论】:
非常感谢!对不起,我表现出巨大的无知 - 我没有注意到 ViewGroup 是抽象类...... 没问题。每个人都会犯错;)以上是关于android: 一个新的 GUI 问题 - 如何声明 viewGroup,没有布局 XML 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不安装 Android Studio 的情况下安装 GUI android SDK 管理器
如何在不打开 Android Studio 的情况下打开 AVD Manager GUI?