您的位置:首页 > 产品设计 > UI/UE

控制UI布局的方式

2015-12-01 10:54 405 查看

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.根据需要重写相应的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: