0

我很了解Java编程。我正在开发一个 Android 项目,并且已经了解了如何为 android 创建应用程序。但是,我有一点我不了解android的接口。当我们使用 Java 时,我们在代码屏幕面板和一些导入中使用过,例如 Swing、AWT、SWT,但现在我们正在 XML 文件上创建接口,我不明白 XML 文件是如何创建接口的。我想知道它的逻辑。您能否告诉我有关 XML 文件的信息。

4

1 回答 1

1

想想 XML 有点像 HTML——你基本上是使用标记来定义 UI 组件并为它们提供基本的样式属性,如位置、大小、颜色等,但实际上并没有任何行为属性。XML 标记(如 HTML)具有定义属性的名称和属性。在许多情况下,它们也可以嵌套。当一个标签中嵌套了其他标签时,我们称这些标签为子标签。带有子标签的标签有开始标签 () 和结束标签 ()。孩子被定义在两者之间。没有子标签的标签可以省略结束标签,方法是在封闭的 > 前面放置 /(斜杠)

<LinearLayout>
    <Button
       android:layout_width="100dp"
       android:layout_height="25dp"
       android:id="@+id/my_button"
       android:text="CLICK HERE" />
</LinearLayout>

属性上有 android: 标签,以便 xml 解析器可以正确识别它们是 android 定义的属性,简单地说。eclipse ADT 中包含的构建工具(如果您不使用 eclipse,则包含在 sdk 工具中)在幕后生成 java 对象,并适当设置了相应的属性,因此您不必执行该工作。它还会生成一个 R.java 文件,其中包含指向它为您的布局元素生成的 java 对象的指针,以便您可以轻松地在 java 代码中引用它们:

Button myButton = (Button) findViewById(R.id.my_button);
myButton.setOnClickListener(...);

如果您愿意,您可以完全使用 java 代码进行布局/UI 开发,但这会变得更加冗长乏味,因为您必须显式设置许多在相应 XML 代码中隐含/省略的值。XML 节省了大量时间,可视化编辑器使您更容易/更快地获得所需的外观。

使用 XML,您还可以定义想要轻松国际化的字符串,以及简单的可绘制对象,如果操作正确,可以轻松地按比例缩小屏幕尺寸和分辨率,以及简单的动画。使用资源目录上的“限定路径名”,您可以提供 XML 中定义的任何值/资源的替代版本(例如布局、可绘制对象或字符串),这些版本将在运行时根据用户设备适当地换出& 设置。

例如,您可以在 res/layout-land 中为横向定义一个布局,例如 main.xml,在 res/layout-port 中为纵向定义一个替代版本。然后应用程序将自动加载与用户方向相对应的布局。类似地,您可以在 res/values-en/strings.xml 中定义一个值为“Yes”的字符串,例如 button_label,并在 res/values-es/strings 中定义一个具有相同名称的字符串 button_label。 xml,值为“Si”。如果用户区域设置为英语,将使用“是”。如果他们的本地是西班牙语,将使用“Si”。

http://developer.android.com/training/basics/firstapp/building-ui.html

http://developer.android.com/guide/topics/ui/declaring-layout.html

http://developer.android.com/guide/topics/resources/overview.html

http://developer.android.com/guide/topics/graphics/view-animation.html

于 2012-10-22T14:55:31.867 回答