Android视图组成View】的更多相关文章

自从1983年第一台图形用户界面的个人电脑问世以来,几乎所有的PC操作系统都支持可视化操作,Android也不例外.对于所有Android Developer来说,我们接触最多的控件就是View.通常,我们使用自定义View,需要了解最多的除了事件分发,就是View的绘制过程.然而关于View的绘制,涉及到的知识点纷繁复杂,这么多的代码知识,要梳理起来,肯定是先要找个头.那么平常我们用的最多的方法是哪个方法呢?当然是setContentView()! setContentView 首先我们直接在…
视图组成View 创建时间: 2013-9-13 10:51 更新时间: 2013-9-13 11:04…
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_he…
引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!”程序来实践证明了.在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍.View的布局显示方式有下面几种:线性布局(Linear Layout).…
View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍.View的布局显示方式有下面几种:线性布局(Linear Layout).相对布局(Relative Layout).表格布局(Table Layout).网格视图(Grid View).标签布局(Tab Layout).列表视图(List View).绝对布局(AbsoluteLayout).本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android大餐! 本文的主要内容就是分别介绍…
Android视图框架 Android的UI系统是android应用系统框架最核心,最基础的内容! 1. Android视图系统.层次关系 Android应用设计和Web应用设计类似,也分前端和后端设计.Android的核心要素和四大组件属于后端设计部分,UI设计属于前端设计.前端设计决定了用户体验的好坏,后端设计则决定了功能的完备和应用的安全.稳定. 对Android的UI设计来说,用到的最重要的两个类是:View和ViewGroup.它们决定着展示给用户的外观界面的形状.下面介绍下Andro…
引言 View的布局显示方式有下面几种:线性布局(Linear Layout).相对布局(Relative Layout).表格布局(Table Layout).网格视图(Grid View).标签布局(Tab Layout).列表视图(List View).绝对布局(AbsoluteLayout).本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android大餐! 本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: 1.Vie…
用最简单的方式来实现Android视图扩散切换效果. 一.概述 这两天时间动手撸了个视图扩散切换效果的控制器,API兼容至Android4.0,更方便我们在视图切换过程中有炫酷的过渡效果.本来是想实现两个View之间的过渡动画,实现的过程中想到之前写的Activity切换动画,就试着加上了对Activity切换的动画支持.先来看看效果吧,代码实现只需一行,感觉还不错- 二.实现思路简单阐述 关于过渡动画的实现,我们先简单分解下这个效果,首先,当Activity发生跳转时我们要先获取共享元素控件,…
UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个用于存放其他View和ViewGroup对象的布局容器! Android为我们提供了View和ViewGroup的两个子类的集合,提供常用的一些输入控件(比如按钮,图片和文本域等)和各种各样的布局模式(比如线程布局,相对布局,绝对布局,帧布局,表格布局等). 用户界面布局 在你APP软件上的,用户界面上显示…
1.相关概念 不用画布,直接在窗口上进行绘图叫做无缓冲绘图. 用了一个画布,将所有内容都先画到画布上,在整体绘制到窗口上,就该叫做单缓冲绘图, 那个画布就是一个缓冲区.用了两个画布,一个进行临时的绘图,一个进行最终的绘图,这样就叫做双缓冲绘图. 2.Surface     Surface在SDK的文档中的描述是这样的:Handle onto a raw buffer that is being managed by the screen compositor,Android中的Surface就是…
整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为 根据之前设置的状态,判断是否需要重新计算视图大小(measure).是否重新需要安置视图的位置(layout).以及是否需要重绘 (draw),其框架过程如下: measure()过程 主要作用:为整个View树计算实际的大小,即设置实际的高(对应属性:mMeasuredHeight)和宽(对应属性:mMeasureWidth),每个View的控件的实际宽高…
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了.回想一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程.视图的状态及重绘等知识,算是把View中非常多重要的知识点都涉及到了.假设你还没有看过我前面的几篇文章,建议先去阅读一下.多了解一些原理方面的东西. 之前我有承诺过.会在View这个话题上多写几篇博客,讲一讲View的工作…
Android重点知识--View和ViewGroup与自定义控件 作者:丁明祥 邮箱:2780087178@qq.com 一.基础 ViewGroup 参考资料: Android 手把手教您自定义ViewGroup(一) View参考资料: Android 自定义View (一)系列 1.概念 Android中的View包含用户交互和显示,ViewGroup继承自View,主要充当View的容器. ViewGroup和它的孩子们(View和ViewGroup)以树形结构形成了一个层次结构,Vi…
自定义View一直是初学者们最头疼的事情,因为他们并没有了解到真正的实现原理就开始试着做自定义View,碰到很多看不懂的代码只能选择回避,做多了会觉得很没自信.其实只要了解了View的工作机制后,会发现是挺简单的,自定义View就是借助View的工作机制开始将View绘制出来的 Android视图工作机制按顺序分为以下三步: measure:确定View的宽高 layout:确定View的位置 draw:绘制出View的形状 Android视图工作机制其实挺人性化的,当你真正理解之后,就跟我们画…
Android 判断一个 View 是否可见 getLocalVisibleRect(rect) 与 getGlobalVisibleRect(rect) [TOC] 这两个方法的区别 View.getGlobalVisibleRect(rect); //以屏幕 左上角 为参考系的 View.getLocalVisibleRect(rect); //以目标 View 左上角 为参考系 鉴于这一点的区别,View.getLocalVisibleRect(rect) 的 rect.left恒等于 0…
在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie.cs文件,并添加高亮行如下所示: using System; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace MvcMovie.Models { public class Movie…
写ASP.NET MVC程序,我们经常需要把数据从视图(View)传递至部分视图(Partial View) 或者相反. 今天Insus.NET使用 ControllerBase.TempData 进行处理. 首先演示的是View至Parital View创建一个控制器,并添加一个操作TmTestA(): 创建视图: 上图中标记#1,引用母版.标记#2,为TempData设置一个值.标记#3,使用Html.RenderPartial去Render一个部分视图. 创建部分视图,在部分视图中,去获取…
Android读取自定义View属性 attrs.xml : <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="MyView"> <attr name="MyViewColor" format="color"/> </declare-styleable&…
在做ASP.NET MVC后台管理程序时,根据程序需要,Isus.NET需要实现一个功能,就是动态截取视图某一段另存为部分视图Partial View. 思路为在视图中,使用jQury的程序截图以及POST所截取的html字符串至控制器中.在控制器中把字符串存储为部分视图即可. 下面是模拟实际程序,创建原始视图: 原始的视图,Insus.NET列举一些填写域,当然你需要截取的也许不是这些,视实际需求吧. 回至控制器,写一个操作是处理数据: 接下来,你可以写jQuery代码: 演示:…
承接上一篇,上一篇中讲解了实现滑动的第五种方法,如果你还没读过,可点击下面链接: http://www.cnblogs.com/fuly550871915/p/4985482.html 这篇文章现在来讲解最后一种方法,也可以说是实现滑动的终极大招!不过相比之前的方法,实现的过程要复杂一些,但是实现的效果当然也会徇丽多彩! 六.使用ViewDragHelper实现 (1)基础知识 使用ViewDragHelper可以实现多种多样的滑动效果,只要细心处理,足够满足你的各种拖动的需求了.下面来讲解一下…
 Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow 这本身是一个看似很简单的问题,但是如果设置不当,就可能导致莫名其妙失效问题.通常在Android中使用PopupWindow是从某一个View中触发,为某一个View setOnClickListener,然后在View.OnClickListener中show出创建好的PopupWindow,比如下图右侧的"筛选"部位View,此图为用户点击 筛选 后弹出的PopupWindo…
作用: 基类View有个函数 public void setTouchDelegate(TouchDelegate delegate),给view内部的另一个view设置一个touch代理. 图中view是外部view,它包含tv1,tv2两个内部view, view可以给tv1,tv2设置一个touch矩形区域(图中黄色rect1),rect1以view的左上为原点,当手指在rect1产生touch事件时,会触发tv1,tv2的 touch事件,相当于给tv1,tv2增加了另一个touch区域…
我一般情况下不会使用interface builder去画界面,而是用纯代码去创建界面,不是装B,而是刚从vi转到xcode不久,不太习惯interface builder而已.当然如果需要我也会使用它.一个东西的存在没有绝对的好与坏,只是存在时间与空间决定了它的价值. (忘了讲了,我的环境是xcode4.2) 首先要弄懂几个基本的概念. 一)三个结构体:CGPoint.CGSize.CGRect 1.  CGPoint /* Points. */ struct CGPoint { CGFloa…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24300125 继续自己定义View之旅.前面已经介绍过一个自己定义View的基础的样例,Android 自己定义View (一),假设你还对自己定义View不了解能够去看看.今天给大家带来一个略微复杂点的样例. 自己定义View显示一张图片,以下包括图片的文本介绍,类似相片介绍什么的,只是不重要,主要是学习自己定义View的使用方法么. 还记得上一篇讲的4个步骤么: 1.自己定…
support.v4 包为我们提供了一个非常实用的滑动控件ViewPager,在使用ViewPager时有一个需要注意的地方: 即: android.support.v4.view.ViewPager.onSaveInstanceState 空指针等等... 错误如下: ... Caused by: java.lang.NullPointerException at android.support.v4.view.ViewPager.onSaveInstanceState(ViewPager.j…
ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view) 在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie.cs文件,并添加高亮行如下所示: using System; using System.ComponentModel.DataAnnotations; using System.Data.Ent…
[Step By Step]SAP HANA中创建计算视图(Calculation View) Demo Instruction: 该视图将两个表AUDIOBOOKS和BOOKS中的数据进行连接,并作区分. 源数据: 操作: 1. 在content相应的package上创建计算视图 填写相关的基础信息: 选择建模所使用的数据对象,可以是表对象,也可以是其他视图: 点击Finish,则进入相应的建模主界面: 2. 建立Project 映射 选择Tools Palette=>Projection 从…
-"爹,我要吃糖" -"好哒儿子" -"爹,我要吃包包" - "好哒儿子" - "爹,我要吃串串" - "好哒儿子" - "爹,我要大保健" - (啪啪啪,三耳光) 儿子是一定要听爹话的,那么在Android世界里,是不是这样呢? 今天就来和大家讨论一下 View 父子之间的琐事. 大家都知道,儿子肯定有自己想做的事情,也就是有自己的思想.那么转换到Android的V…
目标:实现Android中的自定义View,为理清楚Android中的View绘制流程“铺路”. 想法很简单:从一个简单例子着手开始编写自定义View,对ViewGroup.View类中与绘制View相关的方法解析,并最终弄清楚View的绘制流程. View类代表用户界面组件的基本构建块:View在屏幕上占据一个矩形区域,并负责绘制和事件处理:View是用于创建交互式用户界面组件(按钮.文本等)的基础类. ViewGroup是View的子类,是所有布局的父类,是一个可以包含其他View或者Vie…
视图是一种虚表,使用CREATE VIEW语句来定义视图,该视图是基于一个或多个表或视图的逻辑表.一个视图本身不包含任何数据, 视图所基于的表称为基表. 视图就相当于一条select 语句,定义了一个视图就是定义了一个sql语句, 视图不占空间,使用视图不会提高性能,但是能简化sql语句 . 创建视图: create view 视图名; 如: create or replace view  v_test  as select * from test where age=10; create or…