控制UI布局的方式

来源:互联网 发布:苏州宋庆龄幼儿园 知乎 编辑:程序博客网 时间:2024/05/12 09:34

1.使用 XML 布局文件控制 UI 界面

  • 步骤

    1.在 Android 应用的 res/layout 目录下编写 XML 布局文件,可以采用任何符合 Java 命名规则的文件名。创建后, R.java 文件会自动收录该布局资源。

    2.在 Activity 中使用以下 Java 代码显示 XML 文件布局的内容。

    setContentView(R.layout.activity_main); //括号内为想要显示的布局文件

    如采用帧布局,并添加两个 TextView 组件,一个用来显示提示文字,一个在窗体正中间位置显示开始游戏按钮,其代码如下:

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@drawable/background001" >     <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="@string/title" />     <TextView        style="@style/styleName"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center_vertical|center_horizontal"        android:text="@string/dianji" />    </FrameLayout>

2.在代码中控制 UI 界面

  • 步骤

    1.创建布局管理器,可以使帧布局、表格布局、线性布局、相对布局等,并设置布局管理器的属性,如:背景图片。

    2.创建具体的组件,可以是 TextView 、EditView 等任何 Android 提供的组件,并设置组件的布局和各种属性。

    3.将具体的组件添加到布局管理器中。

    1. 在新建的项目中把 src 目录下的 MainActivity.java 中的下面这行代码删除。        setContentView(R.layout.activity_main);2.在MainActivity的 onCreate()方法中,创建一个帧布局管理器,并设置背景。FrameLayout fl = new FrameLayout(this);   //创建布局管理器fl.setBackground(this.getResources().getDrawable(R.drawable.background001));    //设置背景setContentView(fl);    //设置在Activity中显示该布局3.创建 TextView 组件,设置其文字、文字大小、颜色和布局。    TextView tv1 = new TextView(this);    tv1.setText("在代码中控制UI界面");    fl.addView(tv1);


完全通过代码控制 UI 界面虽然比较灵活,但其开发过程比较繁琐,而且不利于高层次的解耦,因此不推荐使用这种方式控制 UI 界面。

3.使用 XML和Java代码混合控制 UI 界面

  • 完全通过 XML布局文件控制 UI 界面,实现比较方便快捷,但有失灵活。而完全使用 Java代码来控制 UI 界面,虽比较灵活,但其过程比较繁琐。鉴于两种方式的优缺点,现使用 XML和Java代码混合控制 UI 界面。

  • 使用 XML和Java代码混合控制 UI 界面,习惯上把变化小、行为比较固定的组件放在 XML 布局文件中,把变化较多,行为控制比较复杂的组件交给 Java 代码来管理。

4.开发自定义的 View

  • 在 Android 中,所有的 UI 界面都是由 View 和 ViewGroup 类及其子类组合而成的。其中 View 类是所有 UI 组件的基类,而 ViewGroup 类是容纳这些 UI 组件的容器,其本身也是 View 的子类。在 ViewGroup 类中,除了包含普通的 View 类外,还可以再次包含 ViewGroup 类。

  • 一般情况下,开发 Android 应用程序的 UI 界面,都不直接使用 View 和 ViewGroup类,而是使用这两个类的子类。但在实际开发中,还会出现不足以满足程序需要的情况,这时,用户可以通过继承 View 类来开发自己的组件。

  • 其步骤如下:

    1.创建一个继承 android.view.View 类的 View 类,并且重写构造方法。

    2.根据需要重写相应的方法。

1 0
原创粉丝点击