Android UI布局 AndroidIntent和IntentFilter Android UI控件 用户界面的基本构建块是 View 对象,它是从View类创建的,占据屏幕上的矩形区域,负责绘图和事件处理。View是窗口小部件的基类,用于创建交互式UI组件,如按钮,文本字段等。 在 一个ViewGroup 是的子类 视图 ,并提供持有其他意见或其他ViewGroups并定义它们的布局属性看不见的容器。 在第三级,我们有不同的布局,它们是ViewGroup类的子类,典型的布局定义了Android用户界面的可视化结构,可以在运行时使用 View / ViewGroup 对象创建,也可以使用简单的XML文件 main_layout 声明布局 .xml ,它位于项目的res / layout文件夹中。 布局参数 本教程更多的是基于XML文件中定义的布局创建GUI。布局可以包含任何类型的小部件,例如按钮,标签,文本框等。以下是具有LinearLayout的XML文件的简单示例 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is a Button" /> <!-- More GUI components go here --> </LinearLayout> 创建布局后,可以在 Activity.onCreate()回调实现中从应用程序代码加载布局资源,如下所示 - public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } Android布局类型 Android提供了许多布局,您将在几乎所有Android应用程序中使用它们来提供不同的视图,外观和感觉。 序号 Layout & Description 1 Linear Layout LinearLayout是一个视图组,可以在一个方向上垂直或水平对齐所有子项。 2 Relative Layout RelativeLayout是一个视图组,用于显示相对位置的子视图。 3 Table Layout TableLayout是一个将视图分组为行和列的视图。 4 Absolute Layout AbsoluteLayout使您可以指定其子项的确切位置。 5 Frame Layout FrameLayout是屏幕上的占位符,可用于显示单个视图。 6 List View ListView是一个显示可滚动项列表的视图组。 7 Grid View GridView是一个ViewGroup,它以二维可滚动网格显示项目。 布局属性 每个布局都有一组属性,用于定义该布局的可视属性。所有布局中几乎没有共同的属性,它们是特定于该布局的其他属性。以下是常见属性,将应用于所有布局: 序号 属性和描述 1 android:id 这是唯一标识视图的ID。 2 android:layout_width 这是布局的宽度。 3 android:layout_height 这是布局的高度 4 android:layout_marginTop 这是布局顶部的额外空间。 5 android:layout_marginBottom 这是布局底部的额外空间。 6 android:layout_marginLeft 这是布局左侧的额外空间。 7 android:layout_marginRight 这是布局右侧的额外空间。 8 android:layout_gravity 这指定了子视图的定位方式。 9 android:layout_weight 这指定了布局中应该将多少额外空间分配给View。 10 android:layout_x 这指定了布局的x坐标。 11 android:layout_y 这指定了布局的y坐标。 12 android:layout_width 这是布局的宽度。 13 android:layout_width 这是布局的宽度。 14 android:paddingLeft 这是为布局填充的左边距。 15 android:paddingRight 这是为布局填充的正确填充。 16 android:paddingTop 这是为布局填充的顶部填充。 17 android:paddingBottom来 这是为布局填充的底部填充。 这里宽度和高度是布局/视图的尺寸,可以用dp(密度无关像素),sp(与尺度无关的像素),pt(点数为1/72英寸),px(像素),毫米(毫米),最后是(英寸)。 您可以使用精确测量指定宽度和高度,但更常见的是,您将使用这些常量之一来设置宽度或高度 - android:layout_width = wrap_content 告诉您的视图将自身大小调整为其内容所需的维度。 android:layout_width = fill_parent 告诉你的视图变得和它的父视图一样大。 重力属性在定位视图对象中起着重要作用,它可以采用以下常量值中的一个或多个(由“|”分隔)。 Constant Value Description top 0x30 将对象推到其容器的顶部,而不是更改其大小。 bottom部 0x50 将对象推到其容器的底部,而不是更改其大小。 left ×03 将对象推到其容器的左侧,而不是更改其大小。 right 0×05 将对象推到其容器的右侧,而不是更改其大小。 center_vertical 0x10 将对象放在其容器的垂直中心,而不是更改其大小。 fill_vertical 0x70 如果需要,增加对象的垂直尺寸,使其完全填充其容器。 CENTER_HORIZONTAL 0×01 将对象放在其容器的水平中心,而不是更改其大小。 fill_horizontal 0×07 如果需要,增加对象的水平尺寸,使其完全填充其容器。 center 0x11 将物体放在其容器的中心,在垂直和水平轴上,不改变其大小。 fill 0x77 如果需要,增大对象的水平和垂直尺寸,使其完全填充其容器。 clip_vertical 0x80的 可以设置为将子项的顶部和/或底部边缘剪切到其容器边界的附加选项。剪辑将基于垂直重力:顶部重力将剪切底部边缘,底部重力将剪切顶部边缘,并且两者都不会剪切两个边缘。 clip_horizontal 0x08的 可以设置为将子项的左边和/或右边剪裁到其容器边界的附加选项。剪辑将基于水平重力:左重力将剪切右边缘,右重力将剪切左边缘,并且两者都不会剪切两个边缘。 start 0x00800003 将对象推送到其容器的开头,而不是更改其大小。 end 0x00800005 将对象推送到其容器的末尾,而不是更改其大小。 查看标识 视图对象可以具有分配给它的唯一ID,这将在树中唯一地标识视图。XML标记内的ID语法是 android:id="@+id/my_button" 以下是@和+标志的简要说明 - 字符串开头的at符号(@)表示XML解析器应解析并扩展ID字符串的其余部分,并将其标识为ID资源。 加号(+)表示这是必须创建并添加到资源的新资源名称。要创建视图对象的实例并从布局中捕获它,请使用以下命令 - Button myButton = (Button) findViewById(R.id.my_button); AndroidIntent和IntentFilter Android UI控件