视频:善知堂Android http://www.verycd.com/topics/2915940/

今天又加班两个多小时。

第五集(下)动态效果

1.查看日志的过滤,这里过滤出来System.out 的输出日志

2.添加监听事件。

谁处于激活状态就有限获得这个事件,事件会向上传递。

举个例子

class GameView extends View {        public GameView(Context context) {            super(context);        }        // 键盘按下        @Override        public boolean onKeyDown(int keyCode, KeyEvent event) {            this.setFocusable(true);//设置为活动窗口            return true;//这样事件不会向上传递。        }        // 触摸        @Override        public boolean onTouchEvent(MotionEvent event) {            //向上传递。            return super.onTouchEvent(event);        }    }

加入这样一句话就取消了退出功能了

    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        System.out.println("keydown");        switch (keyCode) {        case KeyEvent.KEYCODE_BACK:// 证明输入的是返回            System.out.println("back");            break;        }        return true;//这个地方是重点    }

第六集 需要注意的问题

1.触摸的状态

        // 触摸        @Override        public boolean onTouchEvent(MotionEvent event) {            event.getAction();//这个是获取点击状态,按下,拖动,放开。            return super.onTouchEvent(event);        }

2.让某个View先获得焦点,可在View的执行代码中加入

this.setFocusable(true);

还可以在获得焦点的窗体事件中执行

myView.onKeyDown(keyCode, event);//将事件传给myView
super.onKeyDown(keyCode, event);//调用父窗体的

在点击事件中,如果不创建线程,则程序就只有一个主线程来执行多有操作。

主线程负责重回UI,所以主线程不能长时间循环。

在键盘事件中,加入for(1->100){sleep(100)} 会卡死.如果变成多线程的就没有任何影响。

还包括各种事件,重绘,都不能出现长循环。

3.handle

Handler运行在主线程中(UI线程中), 它与子线程可以通过Message对象来传递数据.

在主线程有消息队列。

handle ,draw,按键 都在在主线程(UI)中执行。

第四天晚结束。

更多相关文章

  1. Work 工作子线程更新UI控件--解决Only the original thread that
  2. Android事件总线(二)EventBus3.0源码解析
  3. Android中多线程的用法
  4. 安卓 屏蔽子控件点击事件
  5. Android(安卓)View框架总结(八)ViewGroup事件分发机制
  6. ScrollView嵌套滑动TextView冲突事件解决
  7. Android(安卓)Monkey源码解析
  8. Android(安卓)Handler, Looper浅析
  9. Android异步下载网络图片(其三)

随机推荐

  1. android 内部注册receiver
  2. Android快速显示4G
  3. Android(安卓)O(android 8.1) SYSTEM_UID应
  4. android opengl es 七彩星星效果
  5. Android(安卓)关闭所有Activity完全退出
  6. 【AndroidStudio】Aapt2Exception
  7. Android(安卓)OnTouchListener 触摸事件
  8. android porting experience
  9. android常用网站
  10. Android中HandlerThread的使用