控制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.根据需要重写相应的方法。
相关文章推荐
- Android uiautomator dump 命令介绍
- sample questions
- Installation failed due to invalid APK file!
- 从客户端(xxxxxxxxxxxxxxxxxxxxxx)中检测到有潜在危险的 Request.Form 值。
- UI考试
- UE4模型资源导出
- UE4组件
- [LeetCode]Longest Consecutive Sequence
- IOS入门——使用UIView简单实现霓虹灯(两种方法)
- [LeetCode]Binary Tree Longest Consecutive Sequence
- 3D touch 之 Home Screen Quick Action 的创建
- LeetCode -- Unique Paths II
- leetcode -- Unique Binary Search Trees II
- iOS 解决xib加载UITableViewCell的宽度不适应问题
- BlueprintListener的使用
- 【Qt Warning】No1:Debug build
- rabbitmq-queueDeclarePassive
- 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
- [LeetCode]Longest Increasing Subsequence
- [APUE]再读之文件和目录