Android学习一

1.获取手机屏幕分辨率

DisplayMetrics metrics = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metrics);

metrics.heightPixels

metrics.widthPixels

2.界面响应事件

button.setOnTouchListener(touchlistener);

android.view.MotionEvent

MotionEvent.getAction()          MotionEvent.ACTION_DOWN   MotionEventl.ACTION_MOVE 

x = motionEvent.getX()  y = motionEvent.getY()

ACTION_DOWN: 表示用户开始触摸.
 ACTION_MOVE: 表示用户在移动(手指或者其他)
 ACTION_UP:表示用户抬起了手指 
ACTION_CANCEL:表示手势被取消了

ViewGroup.LayoutParams lp = new AbsoluteLayout.LayoutParams(WARP_CONTENT,WARP_CONTENT,motion.getRawX(),motion.getRawY());

button.setLayoutParams(lp);

3.控件外观的控制

9.png图片制作E:\\android new \ android-sdk-widowsj\tools\draw9patch.bat

4.定时改变Toast提示信息

一个Thread只能有一个Looper对象

对Looper有了基本的了解,总结几点:
1.每个线程有且最多只能有一个Looper对象,它是一个ThreadLocal
2.Looper内部有一个消息队列,loop()方法调用后线程开始不断从队列中取出消息执行

3.Looper使一个线程变成Looper线程。

通知MQ它要执行一个任务(sendMessage),并在loop到自己的时候执行该任务(handleMessage),整个过程是异步的。handler创建时会关联一个looper,默认的构造方法将关联当前线程的looper

在整个消息处理机制中,message又叫task,封装了任务携带的信息和处理该任务的handler。message的用法比较简单,这里不做总结了。但是有这么几点需要注意(待补充):

1.尽管Message有public的默认构造方法,但是你应该通过Message.obtain()来从消息池中获得空消息对象,以节省资源。
2.如果你的message只需要携带简单的int信息,请优先使用Message.arg1和Message.arg2来传递信息,这比用Bundle更省内存
3.擅用message.what来标识信息,以便用不同方式处理message。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值