Anroid UI

来源:互联网 发布:网络上找工作 编辑:程序博客网 时间:2024/05/22 11:30

Android UI概述

Android UI由View和ViewGroup组成。

ViewGroup是不可见的,用于组织和排版View和ViewGroup。

View用户显示内容,以及响应用户的操作。

可以按照需要安排UI的叠放,不过叠放的层数越少,性能上来说越好。

Android UI可以在code中生产,不过更加方便的方式是在Android的XML文件中定义UI。

在Android应用程序开发过程中,主要就是对界面UI的设计与控制,android中的UI元素包括:Activity、View、ViewGroup和布局。Activity不是View但是包括View,View是常说的“组件”或者“控件”。
1、View
在Andorid应用程序中,UI元素称为View,它们都继承了android.view.View类。View有众多的子类,包括ViewGroup、基础控件、高级控件和布局。
         基础控件主要包括:Button、ImageButton、ToggleButton、TextView、RadioButton、CheckBox、ImageView、ProgressBar、SeekBar等。
2、ViewGroup
    android.view.ViewGroup类是android.view.View重要的子类,ViewGroup类通常叫做“容器”,它就是由个控件组成的复杂控件,因为它也是View类的子类,所以本身也是控件。
    ViewGroup是高级控件的和布局的父类,高级控件是和布局与基础控件一样都是不指具体那个类,而是一类容器的总称。
    高级控件都直接或者间接的继承了android.view.ViewGroup类,常用的高级控件主要包括:AutoCompleteTextView、Spinner、ListView、GridView、Gallery等。
3、布局管理
      布局是指导把各个UI元素在手机屏幕上进行布置。常用的布局包括以下几个:
1)  FrameLayout(框架布局),通常也叫做帧布局。
2)  LinerLayout(线性布局),让所有的UI无成为单一方向的布局。
3)  AbsoluteLayout(绝对布局),让所有的UI元素准确的(x ,y)坐标值进行放置。
4)  RelativeLayout(相对布局),将子元素的放置位置与其它元素的位置相关放置。
5)  TableLayout(表格布局),将子元素的位置分配到行或者列中。
注:布局文件可以嵌套使用,从而使布局做出非常精彩的UI。现在只是做一个概述,在以后的话题中,将专门进行细说。

案例1 用户登录界面

*TableLayout重要属性

*android:stretchColumns

*android:shrinkColumns

*android:layout_span

案例2 相框效果

FrameLayout
这种布局没有任何的定位方式,所有的控件都会摆放在布局的左上角。
android:foreground="@drawable/img"android:foregroundGravity="right|bottom"

案例3 创建自定义标题栏

*方式1引入布局
*<includelayout="@layout/title" />
*requestWindowFeature(Window.FEATURE_NO_TITLE);
*存在问题:如果布局中有一些控件要求能够响应事件,我们还是需要在每个动中为这些控件单独编写一次事件注册的代码。

系统控件不够用了怎么办?

我们所用的所有控件都是直接或间接继承自View的,所用的所有布局都是直接或间接继承自ViewGroup的。View是Android中一种最基本的UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是在View的基础之上又添加了各自特有的功能。而ViewGroup则是一种特殊的View,它可以包含很多的子View和子ViewGroup,是一个用于放置控件和布局的容器。




*

0 0
原创粉丝点击