Android View之用户界面...】的更多相关文章

PS:Android的控件真的是很多...现在还在忙到控件...也是神了.... 学习内容: 1.Spinner下拉菜单... 2.AutoComplete TextView自动完成文本框... 1.Spinner下拉菜单....   下拉菜单,这个是非常熟悉的...这个大部分应用基本是有的...比较常用,相对而言,挺简单的,就是有些地方不那么容易理解而已...Spinner这个东西需要使用到适配器...那什么是适配器呢?到底是干什么用的呢?就是将我们保存的数据更好的显示在View上...这就是…
View和ViewGroup Android的UI界面都是由View和ViewGroup及其派生类组合而成的. 其中,View是所有UI组件的基类,而 ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的. View对象是Android平台中用户界面体现的基础单位. View类是它称为"widgets(工具)"的子类的基础,它们提供了诸如文本输入框和按钮之类的UI对象的完整实现. ViewGroup类同样为其被称为"Layouts(布局)"的子类奠…
* This class represents the basic building block for user interface components. A View * occupies a rectangular area on the screen and is responsible for drawing and * event handling. View is the base class for <em>widgets</em>, which are * us…
本文结合一些周知的概念和源码片段,对View动画的工作原理进行挖掘和分析.以下不是对源码一丝不苟的分析过程,只是以搞清楚Animation的执行过程.如何被周期性调用为目标粗略分析下相关方法的执行细节,最终贯穿View动画实际发生的一切. View动画使用 Android提供了属性动画(property animation).帧动画(frame-by-frame animation)和View动画( tweened animation:补间动画),View动画的使用相对简单,但又不像真正意义上的…
Android View.setId(int id) 用法 当要在代码中动态的添加View并且为其设置id时,如果直接用一个int值时,Studio会警告. 经过查询,动态设置id的方法有两种; 1. View.generateViewId(); 这个方法的返回值是个int值,方法的意思是获取一个可以用在setId(int id)方法中的int类型id; 官方文档说明: int generateViewId () Added in API level 17 Generate a value su…
这个就好像是 activity 的生命周期一样,如果我们要使用自定义的 view,那么就很有必要了解一下 view 的那些能够被重写的函数的执行顺序.废话不多讲,以常用的5个函数为例子,见下文: package com.example.pulltorefreshtest; import android.content.Context; import android.graphics.Canvas; import android.util.AttributeSet; import android.…
这个错误也是让我纠结了一天,当时写的项目在安卓虚拟机上运行都很正常,于是当我部署到安卓手机上时,点击登陆按钮跳转到用户主界面的时候直接结束运行返回登陆界面.    当时,我仔细检查了一下自己的代码,并没有发现什么问题,在logcat上显示的报错如下:AndroidRuntime:android.view.InflateException: Binary XML file line #168: Error inflating class(这是其中报错的最主要的一行信息).  于是我在百度上几乎查看…
一直想写事件分发机制的文章,不管咋样,也得自己研究下事件分发的源码,写出心得~ 首先我们先写个简单的例子来测试View的事件转发的流程~ 1.案例 为了更好的研究View的事件转发,我们自定以一个MyButton继承Button,然后把跟事件传播有关的方法进行复写,然后添加上日志~ MyButton package com.example.zhy_event03; import android.content.Context; import android.util.AttributeSet;…
2015-07-28 17:29:19 这一篇主要看看布局过程 一.布局过程肯定要不可避免的涉及到layout()和onLayout()方法,这两个方法都是定义在View.java中,源码如下: /** * Assign a size and position to a view and all of its * descendants * * <p>This is the second phase of the layout mechanism. * (The first is measur…
java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.ProgressBar$SavedState 这个问题折腾了老半天,后来才发现是因为不同布局文件中有重名的控件,而且在要显示的Activity中同时用到了这些布局,所以导致这个问题.…