2012-10-22 25 views
0

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

回答

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> 

这些属性具有机器人:标签上的它们,使得XML解析器可以正确地识别它们是通过定义的属性android,简单地说。 eclipse ADT中包含的构建工具(如果不使用eclipse,则在sdk工具中)会在幕后生成java对象,并且相应的属性被适当地设置,这样就不必执行那些工作。它还生成一个R.java文件,其中包含指向它生成你的布局元素的Java对象,这样就可以很容易地在Java代码中引用它们:

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

如果你愿意,你可以做你的布局/ UI开发完全使用java代码,但它变得更加冗长和乏味,因为您将不得不显式设置在相应的XML代码中隐含/省略的许多值。 XML节省了大量的时间,可视化编辑器使得它看起来更加简单/快速。

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

例如,您可以在res/layout-land中为landscape定义一个布局(如main.xml),并在res/layout-port中为portrait定义一个替代版本。然后,应用程序将自动加载与用户方向相对应的布局。同样,您可以在res/values-en/strings.xml中定义一个字符串,例如button_label,其值为“是”,并在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

+0

他们帮助了我足够的了解。谢谢 –