zoukankan      html  css  js  c++  java
  • Android开发自学笔记(Android Studio)—4.界面编程与View组件简单介绍

    一、引言

    Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃。Android SDK提供了大量功能丰富的UI组件,开发者只需要拖拖拽拽就能完成简单的应用,这些只是界面的展示,如果要完成优秀的用户交互,事件响应机制当然也是重点,这是后话。

    Android SDK中绝大部分UI组件都在androd.widget及其子包、android.view及其子包下,Android应用中的所有UI组件都继承了View类,View类还有一个重要的子类:ViewGroup,下面简单介绍下这两个类。

    二、View

    View是什么,可能每个人都有自己不同的理解。在Android官方文档中是这么说的:这个类表示了用户界面的基本构建模块。一个View占用了屏幕上的一个矩形区域并且负责界面绘制和事件处理。View是用来构建用户界面组件(Button,Textfields等等)的基类。其实,说白了,View就是一个空白的矩形区域,类似于winform中的panel,swing开发中的JPanel,我们可以在这个空白的矩形区域内定义自己的控件。

    对于View类而言,它是所有UI组件的基类,所以它是属性是所有组件都可以使用的,所以建议认真看一下API中关于View类的属性。

    三、ViewGroup

    ViewGroup是View的子类,所以它也可以被当成View使用,它可以作为容器来放其他组件,由于ViewGroup是一个抽象类,所以实际通常都是使用ViewGroup的子类,例如UI组件的中布局类UI组件都是继承自ViewGroup的。

    四、Context

    在实际操作中,无论创建哪种UI组件,都需要传入一个Context的参数,而Context是什么呢?在加载资源、启动一个新的Activity、获取系统服务、获取内部文件(夹)路径、创建View操作时等都需要Context的参与,可见Context的常见性。Context字面意思上下文,或者叫做场景,也就是用户与操作系统操作的一个过程,比如打电话,场景包括电话程序对应的界面,以及隐藏在背后的数据;Android系统的角度来理解:Context是一个场景,代表与操作系统的交互的一种过程。从程序的角度上来理解:Context是个抽象类,而Activity、Service、Application等都是该类的一个实现,因此,Activity、Service都可以直接作为Context使用。

    五、结语&预告

    从上一章到这一章,隔了太久的时间了,最近公司管理层变动,人员流动很大,所以作为小人物的我忙的热火朝天…进度有点跟不上了,但是又不想放下技术的学习,所以挤出来点时间继续好好看书、看博客好好学习。Android Studio最新的版本都已经更新了1.5.X了,我机器上也更新到了1.4.1,所以文章标题也不再写版本信息了,只要是1.3.x后的版本应该都是支持的,有问题可以多互相沟通。

    好了,说点学习的东西,对于UI组件的学习,我觉得疯狂讲义这本书安排的非常合理,我也非常认可,所以我学习也是按照这种思路来学习,后面的UI组件的章节也会照着这个思路来。因为UI组件比较多,如果不理顺他们的关系,孤立的去学习,强行的去记忆,估计学习起来也会很费劲,所以下面我们根据它们的内在关联,分成了几组进行学习,以下是分组情况:

    第一组:布局组件

    LinearLayout(线性布局)、TableLayout(表格布局)、FrameLayout(框架布局)、RelativeLayout(相对布局)、GridLayout(网格布局)、AbsoluteLayout(绝对布局)

    第二组:TextView及其子类

    TextView、EditView、Button、RadioButton、CheckBox…

    第三组:ImageView及其子类

    ImageView…

    第四组:AdapterView及其子类

    ListView…Adapter接口…

    第五组:ProgressBar及其子类

    ProgressBar、SeekBar、RatingBar…

    第六组:ViewAnimator及其子类

    ViewSwitcher、ImageSwitcher、TextSwitcher…

    第7组:其它杂项组件

    Toast、日历视图、时间(日期)选择器、数值选择器、搜索框…

    第8组:对话框

    日期(时间)选择对话框、进度对话框…

    第9组:菜单

    第10组:ActionBar

    这些内容为暂定吧,可能会根据实际学习内容进行调整。

  • 相关阅读:
    适配器模式(2)
    设计模式之6大设计原则(1)
    Mybatis框架基础支持层——反射工具箱之MetaClass(7)
    Mybatis框架基础支持层——反射工具箱之实体属性Property工具集(6)
    Mybatis框架基础支持层——反射工具箱之对象工厂ObjectFactory&DefaultObjectFactory(5)
    Mybatis框架基础支持层——反射工具箱之泛型解析工具TypeParameterResolver(4)
    Guava动态调用方法
    数据库的数据同步
    springboot(二十二)-sharding-jdbc-读写分离
    springboot(二十一)-集成memcached
  • 原文地址:https://www.cnblogs.com/boyliupan/p/4926595.html
Copyright © 2011-2022 走看看