0

我今天开始学习 Android 开发,我需要帮助理解一些 XML 代码的工作原理。我正在使用的书没有解释代码,但是,使用它给了我想要的结果。

<?xml version="1.0" encoding="utf-8"?>
<inearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:id="@+id/myEditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="New To Do Item"
/*The above lines are the only things I understand. the code below does not create an 
actual list, instead just initiates the layout of height and width. */
/>
<ListView
android:id="@+id/myListView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>

使用此代码生成一个待办事项列表,所有项目都标记为“项目 1”、“项目 2”等。
我不明白当没有使用实际代码时如何创建列表

-另外,我想知道 XML 编码与 Android 编程的相关性。如果这门语言有用,我应该学习吗?
谢谢。

4

2 回答 2

5

好的,首先,让我解释一下当您使用 xml 资源时,android 究竟为您做了什么。

Android 使用“Inflate”技术,包括基于 XML 标签创建 Java 对象,基本上它基于标签和属性(xml)创建类和属性(java),之前的代码要求操作系统:

第一的:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">

创建一个 ViewGroup,在本例中是一个 LinearLayout,它是一个 Views Holder,它根据方向“垂直”或“水平”排列元素,“fill_parent”属性要求保留在父视图上的所有空间,如果此元素父是根视图,那么它将占用整个屏幕空间。

第二:

<EditText
     android:id="@+id/myEditText"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:text="New To Do Item"/>

在此 ViewGroup 中创建一个与父级宽度匹配的 EditText 组件(在本例中为 LinearLayout),并保持元素的高度与其中的内容一样长(这就是它以 1 单行开头的原因,并且在您编写它时可能垂直增长...)

第三:

<ListView
   android:id="@+id/myListView"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"/>

创建一个 listView 以垂直滚动方式显示内容,如果没有适配器用于填充某些内容,则此元素可能不会显示,因为我们使用的是 LinearLayout,所以此元素将显示在下面创建的 EditText 下方...

问候!

于 2013-06-04T21:28:15.620 回答
1

android 图形布局设计器使用示例数据预先填充列表视图,让您了解它的外观。如果您要在模拟器或手机上运行此代码,则不会显示任何内容。

如果您想真正深入研究 android 编程,XML 会有些用处,幸运的是,您一开始可以在图形拖放设计器中完成大多数事情。

于 2013-06-04T21:20:02.580 回答