Android中接口的XML文件

时间:2012-10-22 14:50:29

标签: xml android-layout

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

1 个答案:

答案 0 :(得分: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中定义一个字符串,比如button_label,其值为“Yes”,并在res / values-es / strings中定义一个名称相同的字符串button_label。值为“Si”的xml。如果用户区域设置设置为英语,则将使用“是”。如果他们的当地人是西班牙人,将使用“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