随笔分类 -  Android

摘要:1、首先说一下canvas类:Class OverviewThe Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a C... 阅读全文
posted @ 2014-09-29 16:21 土金 阅读(5848) 评论(0) 推荐(0)
摘要:在前两文中,我们分析了Activity组件的窗口对象和视图对象的创建过程。Activity组件在其窗口对象和视图对象创建完成之后,就会请求与WindowManagerService建立一个连接,即请求WindowManagerService为其增加一个WindowState对象,用来描述它的窗口状态... 阅读全文
posted @ 2014-09-17 22:11 土金 阅读(485) 评论(0) 推荐(0)
摘要:从前文可知道,每一个Activity组件都有一个关联的Window对象,用来描述一个应用程序窗口。每一个应用程序窗口内部又包含有一个View对象,用来描述应用程序窗口的视图。应用程序窗口视图是真正用来实现UI内容和布局的,也就是说,每一个Activity组件的UI内容和布局都是通过与其所关联的一个... 阅读全文
posted @ 2014-09-17 21:57 土金 阅读(827) 评论(0) 推荐(0)
摘要:new AbsListView.OnScrollListener() { @Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {switch (scrollState) { case AbsLis... 阅读全文
posted @ 2014-09-02 15:46 土金 阅读(265) 评论(0) 推荐(0)
摘要:1.动画运行模式 独行模式 中断模式2.Animation类 每个动画都重载了父类的applyTransformation方法这个方法的主要作用是把一些属性组装成一个Transformation类,这个方法会被父类的getTransformation方法调用。另外每个动画还有个initial... 阅读全文
posted @ 2014-08-26 11:30 土金 阅读(461) 评论(0) 推荐(0)
摘要:Android中自定义ViewGroup最重要的就是onMeasure和onLayout方法,都需要重写这两个方法,ViewGroup绘制 的过程是这样的:onMeasure → onLayout → DispatchDraw[java]view plaincopy其实我觉得官方文档解释有大大的问题... 阅读全文
posted @ 2014-08-19 18:26 土金 阅读(542) 评论(0) 推荐(0)
摘要:onMeasure方法在控件的父元素正要放置它的子控件时调用.它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec. 它们指明控件可获得的空间以及关于这个空间描述的元数据. 比返回一个结果要好的方法是你传递View的高... 阅读全文
posted @ 2014-08-19 15:55 土金 阅读(1316) 评论(0) 推荐(0)
摘要:SlidingMenu简介:SlidingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种操作.目前有大量的应用都在使用这一效果。如Evernote、Google+、Foursquare等,国内的豌豆夹,人人,360手机助手等都使用SlidingMe... 阅读全文
posted @ 2014-08-18 18:20 土金 阅读(226) 评论(0) 推荐(0)
摘要:Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在android线程中进行消息处理。handler其实可以看做是一个工具类,用来向消息队列中插入消息的。 (1) Looper类用来为一个线程开启一个消息循环。 默认情况下android中新诞生的线程是没有开启消息循环的... 阅读全文
posted @ 2014-08-15 15:53 土金 阅读(319) 评论(0) 推荐(0)
摘要:public static interfaceAbsListView.OnScrollListenerandroid.widget.AbsListView.OnScrollListener类概述为了在列表或网格滚动时执行回调函数而定义的接口。概述常量intSCROLL_STATE_FLING用户之前... 阅读全文
posted @ 2014-08-14 16:31 土金 阅读(389) 评论(0) 推荐(0)
摘要:开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中... 阅读全文
posted @ 2014-08-14 14:37 土金 阅读(131) 评论(0) 推荐(0)
摘要:一类的基本概念这是一个注册监听视图树的观察者(observer),在视图树种全局事件改变时得到通知。这个全局事件不仅还包括整个树的布局,从绘画过程开始,触摸模式的改变等。最常见的用途时通过监听获知什么时候,视图的宽高值确定了,可以获取了,以便更改UI。二类的主要接口:监听器interface Vie... 阅读全文
posted @ 2014-08-14 11:14 土金 阅读(912) 评论(0) 推荐(0)
摘要:mContainer.setPersistentDrawingCache(ViewGroup.PERSISTENT_ANIMATION_CACHE);persistentDrawingCache设置了控件的绘制缓存策略,一共有4中策略:PERSISTENT_NO_CACHE 说明不在内存中保存绘图缓... 阅读全文
posted @ 2014-08-11 10:41 土金 阅读(394) 评论(0) 推荐(0)
摘要:在开发互联网应用时候,我们常常要使用心跳来保证客户端与服务器的连接。怎么完成心跳很关键,在说道客户端心跳功能时,如果使用Timer或者专门开起一个线程来做心跳的工作,会浪费CPU工作时间,而且也会更多的消耗电量。相对来说使用AlarmManager 来处理心跳的话,使用的是系统全局的定时服务,会一定成都减少CPU的消耗,耗电量也会少很多。正好这段时间也要做推送,就顺便学习了一下怎么做心跳。// 取消已经注册的与参数匹配的闹铃 void cancel(PendingIntent operation) //注册一个新的闹铃void set(int type, long triggerAtTime. 阅读全文
posted @ 2013-12-17 17:02 土金 阅读(1904) 评论(0) 推荐(0)
摘要:1、ViewFlipper1)View切换的控件—ViewFlipper介绍ViewFilpper类继承于ViewAnimator类。而ViewAnimator类继承于FrameLayout。查看ViewAnimator类的源码可以看出此类的作用主要是为其中的View切换提供动画效果。该类有如下几个和动画相关的方法。setInAnimation:设置View进入屏幕时候使用的动画。该方法有两个重载方法,即可以直接传入Animation对象,也可以传入定义的Animation文件的resourceID。setOutAnimation:设置View退出屏幕时候使用的动画。使用方法和setInAni 阅读全文
posted @ 2013-10-24 14:18 土金 阅读(370) 评论(0) 推荐(0)
摘要:正文 一、结构public final class ViewTreeObserver extends Object java.lang.Object android.view.ViewTreeObserver 二、概述 用于注册监听的视图树观察者(observer),在视图树种全局事件改变时得到通知。这个全局事件不仅还包括整个树的布局,从绘画过程开始,触摸模式的改变等。ViewTreeObserver不能够被应用程序实例化,因为它是由视图提供,参照getViewTreeObserver()以查看更多信息。 三、内部类 interface ViewTreeObserver.O... 阅读全文
posted @ 2012-11-19 14:44 土金 阅读(308) 评论(0) 推荐(0)
摘要:我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我们来看一下示例:public class MyImageView extends ImageView { public MyImageView(Context context, AttributeSet attrs) { super(context, attrs); } public MyImageView(Context context) { super(context); } @Override protected void onMeasure(int widthMeasureSpec, int heightMea.. 阅读全文
posted @ 2012-11-14 15:06 土金 阅读(369) 评论(0) 推荐(0)
摘要:今天学习android自定义组件:docs/guide/topics/ui/custom-components.html其中有两个对布局界面影响很的方法,onDraw(),和onMeasure().onDraw()比较好理解.onMeasure()就比较难理解一些,也更复杂些 ,引用文档中的说法就是:实现onMeasure()方法基本需要完成下面三个方面的事情(最终结果是你自己写相应代码得出测量值并调用view的一个方法进行设置,告诉给你的view安排位置大小的父容器你要多大的空间.):1.传递进来的参数widthMeasureSpec和heightMeasureSpec是你对你应该得出来的测 阅读全文
posted @ 2012-08-28 14:10 土金 阅读(247) 评论(0) 推荐(0)
摘要:StaticLayout layout = new StaticLayout(context.getString(R.string.about),textPaint,(int)(300*fDensity),Alignment.ALIGN_CENTER,1.5F,0,false);layout.draw(canvas);参数含义:1.字符串子资源2 .画笔对象3.layout的宽度,字符串超出宽度时自动换行。4.layout的样式,有ALIGN_CENTER, ALIGN_NORMAL, ALIGN_OPPOSITE三种。5.相对行间距,相对字体大小,1.5f表示行间距为1.5倍的字体高度。6. 阅读全文
posted @ 2012-08-28 11:28 土金 阅读(1213) 评论(0) 推荐(0)
摘要:GradientDrawable 支持使用渐变色来绘制图形,通常可以用作Button或是背景图形。GradientDrawable允许指定绘制图形的种类:LINE,OVAL,RECTANGLE或是RING,颜色渐变支持LINEAR_GRADIENT,RADIAL_GRADIENT和SWEEP_GRADIENT。其中在使用RECTANGLE(矩形),还允许设置矩形四个角为圆角,每个圆角的半径可以分别设置:public void setCornerRadii(float[] radii)radii 数组分别指定四个圆角的半径,每个角可以指定[X_Radius,Y_Radius],四个圆角的顺序为左 阅读全文
posted @ 2012-08-28 11:01 土金