• 手势识别=读取手机联系人=ContentResolver-Day3


    手势识别=读取手机联系人=ContentResolverDay32

    mobile3.0

    1. 手机设置向导页面完成
    2. 选择器没有做完成
    3. 样式提取完成
    4. 自定义控件的优化继续
    5. 抽取父类Activity 完成
    6. 手机读取联系人。

    问题堆栈

    1. 自定义控件深入理解自定义ListView
    2. 是时候研究框架和设计XUtils4个模块
    3. 明天仔细研究窗口过度动画。

    4. 手势控制GestureDetector

    手势在Activity里面有一个onTouchEvent(MotionEvent event)方法,参数就是用户在屏幕上面的作用的是贱,MOtionEvent封装了许多手势定义的方法,我们通过定义GenntureDetector,监听SimpleOnGestureListener监听器中的onFing(....)滑动方法,具体实现如下

    // 创建该Activity的时候
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    context = this;
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    // 创建一个手势识别器
    mGestureDetector = new GestureDetector(this, new SimpleOnGestureListener()
    {
    /*
    * e1 表示第一次触摸事件, e2表示手纸离开时的事件 x 水平方向的速度 y,表示束值方向的速度
    */

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
    {
    // 如果监听成功返回true,监听失败返回false;
    if (Math.abs(velocityX) < 100)
    {
    // pis/s 表示单位时间内划过的速度太慢
    ToastUtil.show(context, "下一页请滑动快一点");
    return true;
    }
    if (e1.getRawX() - e2.getRawX() > 200)
    {
    showNext();
    overridePendingTransition(R.anim.tran_in, R.anim.tran_out);
    return true;
    }
    if (e2.getRawX() - e1.getRawX() > 200)
    {
    showPre();
    overridePendingTransition(R.anim.tran_in_pre, R.anim.tran_out_pre);
    return true;
    }

    return super.onFling(e1, e2, velocityX, velocityY);
    }

    // 长按的监听
    @Override
    public void onLongPress(MotionEvent e)
    {
    new AlertDialog.Builder(context).setIcon(R.drawable.btn_check_off)
    .setTitle("你长按了我的屏幕").setMessage("我很想知道你是想干嘛!").create().show();
    }
    });
    }

    @Override
    public boolean onTouchEvent(MotionEvent event)
    {
    mGestureDetector.onTouchEvent(event);
    // TODO Auto-generated method stub
    return super.onTouchEvent(event);
    }
    1. 动画设计
    2. 广播接收器复习
    3. ViewPage,Pargment优化完成一半。晚上继续资料

      ViewPage是V4包里面的一个控件,如何更好的和Pargment使用需要一段时间的研究当中,我们会在晚上加油更努力的去学习。

    4. 晚上录传智视频

    自定义控件深入理解自定义ListView

    ContentResolver

    这个类主要是Android用来实现数据共享的,一个应用程序可以将自己的数据完全暴露出去,靠的就是这个类,里面提供了。delete()insert(),upDate,query()的方法。原理是什么?现在还不是太理解

    心得

    1. 深一定要深入一点。
    2. 那一天花一早上的时间来研究界面设计
    3. 俩人1.0
    4. 看博客的时候一定要自己做总结笔记。效率才会高

    准备设计一个发祝福短信的应用。Phone1.0

    1.读取到你要发的人的名字。在短信前面会家乡个你存的电话的名字。这样可以假装你不是群发的。

  • 相关阅读:
    HTTP状态码
    CentOS 7 上安装vim(默认未安装)
    yum安装提示Another app is currently holding the yum lock; waiting for it to exit...
    CentOS 7 安装telnet服务
    shell编程
    shell基础
    ssh相关命令
    ssh无密码连接
    centos7小命令
    日志管理
  • 原文地址:https://www.cnblogs.com/ganwei/p/4787161.html
Copyright © 2020-2023  润新知