我为 Eclipse 安装了适用于 Android 的 ADT 插件,但我不喜欢它。
我想以我想要的方式使用我自己的网格布局并通过代码设计窗口(与 Java 中的 JFrame 相同,因为我已经知道如何做到这一点)而不是通过单击和拖动。
如何在 Android 中做到这一点?
虽然我不认为用 java 编写 UI 代码是一个好主意,但这里是你的做法。
首先,您需要查看Android 参考文档中的android.view.*
和android.widget.*
包。
Xml 对应于一个View
(或子类)的所有内容。因此,如果您LinearLayout
在 Xml 中看到,那么还会有一个LinearLayout java 组件。
因此,在您的Activity's
onCreate()
方法中,通常您只需设置内容资源 xml 视图,您可以实例化一个 Widget 并直接设置它。
public void onCreate(Bundle state) {
TextView tv = new TextView();
tv.setText("Hellow World);
setContentView(tv);
}
您可能还需要设置 the LayoutPararms
,因为大多数小部件需要知道它们是否应该包装内容或填充父级。
许多布局小部件类似于 Swing 容器,即它们接受子级,因此您可以使用另一个视图调用 addChild() 来创建小部件层次结构。
这应该足以让你开始。
作为最后一点,我想重申,虽然您可以用 Java 代码构建完整的 UI,但 Xml 布局确实提供了一些其他好处。例如,Xml 布局允许您支持多种屏幕尺寸或不同的布局(横向与纵向等),这在 Java 中很难做到(但并非不可能)。此外,您可能会想,因为视图是在 Xml 中,所以在设备上创建它们会“很慢”。但是,Android 对 Xml 资源进行了优化,实际上,我认为它们在编译到您的 App 时甚至都不是 Xml。因此,资源 Xml 文件非常高效,直接为视图编写 Java 代码可能不会在性能方面获得太多额外收益。