Android自学历程—屏幕元素层次结构(View,ViewGroup)

这几天学习,经常看见View,ViewGroup,还有什么LayoutInflater,遂回头看看当初学的东西。

屏幕元素层次结构

android应用程序基本的功能单位是 Activity-android.app.Activity ,一个activity可以许多的事情,但是它自身不存在于屏幕上。为了让你的activity有屏幕显示并且能设计她的UI,你与要用到 Views and Viewgroups -android平台上 用户界面表达 的 基本单位。

Views

    一个View是基类 android.view.View 里的一个对象。她是一个数据结构,其属性是存储布局和屏幕的特定矩形区域内的内容。

    一个View的对象,能够处理测量和布局(我想是布局的位置如何确定的意思吧),绘制,焦点的改变,滚动,以及屏幕上手势的操作。

    View这个类作为 widgets的基类—有一整套完整的实现好的子类能绘制屏幕交互所需要的元素。那些 Widgets(控件)处理自己的测量和绘图,所以你可以更加快捷的构建你自己的UI。可用的小控件包含:Text,EditText,inputMethod,MovementMethod,Button,RadioButton……

ViewGroup

    一个viewgroup是类 android.view.ViewGroup里的一个对象。正如其名称所示,一个 viewgroup是一个特殊类型的视图对象,她的功能是包含和管理其归属的views和其他viewgroups,Viewgruop能够让你的UI添加结构体(我的理解是嵌套Viewgroup),建立复杂的屏幕元素(就是view多多),

    Viewgroup作为layout的基类—也是一套完整的实现好的子类,提供了屏幕布局的常见类型。那些layout提供给你,再用前面所说的一套views去建立你的视图结构。

A Tree-Structured UI

  

LayoutParams:how a Child Specifies its Positiob and Size

每一个viewgroup的类里面都有一个 内部类继承ViewGroup.layoutParams.

推荐链接,说的还可以:http://byandby.iteye.com/blog/816718

时间: 2024-08-19 13:05:21

Android自学历程—屏幕元素层次结构(View,ViewGroup)的相关文章

Android屏幕元素层次结构

转自:http://blog.csdn.net/hpoi/article/details/4629717 Android屏幕元素层次结构 android.app.Activity 对于一个Android应用来说,android.app.Activity类实例是一个最基本的功能单元.一个Activity实例可以做很多的事情,但是它本身无法显示在屏幕上,而是借助于Viewgroup和View,这两个才是Android平台上最基本的两个用户界面表达单元. android.view.ViewGroup

Android自学历程—回调函数的意思(源码+例子)

为什么会学习回调函数,那还要从线程说起.虽然以前写过一篇文章叫做“Android自学历程—多线程”,现在看看还是太年轻了. 在学习线程的时候,我试着看了看Handler的源码,于是对其中的Callback接口产生了兴趣.于是补自身不足,拿来学习学习.废话到此为止,整理思路,一起来学习. 下面这是一段Handler的源码 /** * Callback(回收) interface(界面) you can use when instantiating(例示) a Handler to avoid *

Android自学历程—Material Design的Tabs

好几天没写博客了,今天给大家带来一篇不错的译文.我照着练习了段时间,还有买了新书<android开发艺术探索>,如果好的话给大家分享分享. 用Android Material Design的方式处理Tabs Android Design Support Library这个类可以使我们更加向后兼容Androoid 2.1,去使用material design的组建.在Design support Library中,一些组建如:navigation drawer, floating action

Android自学历程—RecyclerView的使用

在网上看见有关RecyclerView的介绍,说是ListView的进阶版,官方推荐,便找来资料,耍耍. 首先挂上官方的教程,官方是最具权威和最让人信服的第一手资料. https://developer.android.com/training/material/lists-cards.html To create complex lists and cards with material design styles in your apps, you can use the RecyclerV

Android自学历程—ListView由简入深

前段时间学习了RecyclerView,发现对ListView有更加明显的感觉,于是决定把之前理清点思路的ListView,整理整理毕竟在5.0普及之前,ListView还是有用武之地的.一如既往的我们从简单的开始.——站在巨人的肩膀之上 译自:https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView#using-a-basic-arrayadapter,可能本人理解不深,翻译偏生硬,带

Android自学历程—通讯录开发

前段时间写了个通讯录,现在闲的正好回顾回顾. 其实对我的感触是 一:实现方式有很多,那就要重于积累.但难免有落后的,设计不合理的. 二:还有就是设计方面,整体的设计上.编程不就是逻辑嘛.参考别人的,形成自己的. 1.显示效果,很简单,直接Listview 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.an

Android自学历程—Surfaceview整理总结

这里借鉴了不少博主的劳动成果,先表示感谢.(一定要自己整理才能看的进去--) 其实这里还有个疑惑,SurfaceView与View的区别,以及如何选择使用. 涉及到画面更新的需求.一种是主动更新,另一种是被动更新.类似棋牌类游戏,需要被动的点击去触发它,完全可以采用View. 而比如罗盘,需要一直在旋转,这个时候需要一个线程去处理它.此种情况选用SurfaceView 先看看官方的解释 SurfaceView的API介绍 Provides a dedicated drawing surface

Android自学历程—RecyclerView的使用(2)

Introduction to RecyclerView RecyclerView在Android 5中被介绍,在 Support-V7的包中.她允许展示items在随意任何之处(可联想ListView),正如包名所说的,在API7以上均可使用(Android 22).   她的名字来自于其工作的方式,当一个Item被隐藏时,不是去destroyed她并且随后为每一个新new出来的对象去创建一个新的item,隐藏的item被回收:她们被重用,并且会有新的数据绑定她们. 一个RccyclerVie

Android自学历程—围住神经猫开发

学习核心内容: 1. 学会SurfaceView的绘图技巧. 2. 掌握神经猫的游戏逻辑设计. 第一阶段主要完成内容: 并且创建游戏所需的类,搭建基本的代码结构. 创建一个二维数组,用于保存游戏场景,并且将场景初始化. SurfaceView中根据场景数据,在界面中绘制点阵. 先上代码 1 package com.ryan.catchcrazycat; 2 3 /** 4 * Created by air on 15-8-1. 5 */ 6 public class Dot { 7 8 /* 9