Andorid开发笔记

View里面弹出窗口,PopUpWindow,设置了弹出窗口的宽高,在new的时候传递到窗口里的视图layout的宽高貌似就失效不起作用了,所以这个layout可以不设宽高;

各种布局中:

RelativeLayout里设置组件的对齐方式layout_centerHorizontal或layout_alignParentLeft等,以及设置位置偏移

layout_marginTop等都非常方便;

AbsoluteLayout虽说官方不推荐,代码要是写出此类直接会自带个横杠,呵呵,但是个人认为如果项目不怎么需要考虑多平台多屏幕兼容,可以用用的,就跟AS里的设置sprite的x,y坐标一样方便,而且也可以重叠,layout里下面的组件会盖住上面的组件,这里有一歪招,就是如果使用框架自定义的组件时,如果需要去掉某些组件的可交互性,就是不让点,但是又不会通过神马映射或者重写组件,那就直接在组件不希望被touch到的区域上绘制一层带clickEnable = true的View就可以了。

原来layout 都是继承自View,所以程序里如果想拿到一个layout里的layout,就跟拿其他组件一样,直接activity.findviewbyid(R.id.此layout的名字),强转成Linearlayout(如果目标类型是Linearlayout)就可以做接下来的事情了,比如把一个view通过addView()方法添加到此layout。

通过canvas画布绘制出的文字,都必须有个paint,那么设置颜色,大小,字体神马的,都是在设置此paint,

当然,抗锯齿,必须的:paint.setAntiAlias(true);

设字体 ,貌似是:

Typeface font = Typeface.create(Typeface.DEFAULT,Typeface.NORMAL);
paint.setTypeface(font);

得到系统时间?个人认为用Time足够,如果要涉及到具体的日历或者中国历天干地支等等相关的,要用到Calendar

貌似也跟AS一样还有个Date类,还不知道是干嘛的。

想写个类似于AS里的ENTER_FRAME 事件? 可看本人“【转帖】android线程知识整理 (2012-02-23”此文,目前写系统时间同步我用的是Time+Timer+TimerTask+Handler的组合,但有坑,每次Timer到了要开启下次Tiemr时必须new一个TimerTask,这个不知道内存回收的怎么样,有时间了还是要考虑改成Thread或者用UI自己的线程Runable神马的。。。

有没有类似于AS里的事件机制?应该有的吧,貌似android本身有个个什么Broadcast和什么BroadcastReceiver。


原文地址:https://www.cnblogs.com/JD85/p/2364132.html