我是 Android 开发的新手,并已开始创建自己的 UI。我看到您可以像这样动态地创建它(Dynamic Layouts):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);
TextView tv = new TextView(this);
tv.setText("Name");
ll.addView(tv);
EditText et = new EditText(this);
ll.addView(et);
Button b = new Button(this);
b.setText("Ok");
ll.addView(b);
}
但我也看到 netbeans 有一个文件 Resources->layout->main.xml。因此,您可以为 UI 创建 XML 布局 (Declaring XML layout):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, AndroidTest"
/>
</LinearLayout>
所以我的问题是我应该使用哪个? Android 开发中动态布局与 XML 布局的推荐和优缺点是什么?
最佳答案
使用布局 XML 资源文件。
首先,资源集(例如,除了 res/layout/
之外的 res/layout-land/
)允许您定义多个 UI 以在不同的环境中使用情况下,系统会根据需要自动选择正确的一种。 Java 中的等价物是一组讨厌的 if
或 switch
语句。
其次,有一些工具可以帮助您成功创建这些布局资源。即使 Eclipse 的拖放式 GUI 构建不是您喜欢的(例如,您使用的是 NetBeans),Lint 也会帮助您指出布局中的缺陷,它只会指出布局中的一个子集等效的 Java 代码。
第三,它往往更简洁,所以如果你手动输入这些东西,XML 会减少输入。
第四,您会发现大约 98% 的示例代码将使用布局 XML 文件,并且您在 StackOverflow(和其他支持资源)上找到的所有 UI 答案中大约 98% 将假定您使用布局 XML 文件。虽然您可以自由地避免使用 XML(也许您在小时候受到尖括号的攻击或其他什么),但与大多数 Android 开发人员所做的相比,您将逆流而上,与潮流抗争。
关于java - Android中的动态与XML布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11960501/