240 发简信
IP属地:浙江
  • Android 9.0 适配

    所有应用:无论 targetSdkVersion 是否小于 28,都需要修改应用以正确支持这些变更。 API 28+ 应用的行为变更:指 targetSdkVersion 为...

  • 120
    列表等比例展示 ImageView

    主要代码就两行: 效果如图:

  • 2019-11-06

    第三方包一直下载不下来,试试清除缓存(Gradle)

  • 屏幕适配

    谷歌官方指南https://developer.android.com/training/multiscreen/screensizes?hl=zh-cn#alternati...

  • 120
    Android 优化

    一. 布局优化 核心思想:减少布局文件层级布局层级减少 -> 绘制工作量减少 ->性能提高 删除布局中无用控件和层级 有选择的使用ViewGroup优先使用 LinearLa...

  • 虽然很多人点赞,我觉得是又臭又长,你花大篇幅整理了怎么分发 却没有点明为什么会这样。很多新人估计看一遍觉得不错,实战或者去面试,依然啥都记不住不知道,也不知道为什么。说到底还是个返回值传递的问题。相互是个什么干扰,你列举这么多情况反而是一种记忆负担。

    我举例ViewGroup的dispatchTouchEvent你如果点明 内部是

    ViewGroup
    View[] views=getChildView();
    for(int i=0;i<views.length;i++){
    //判断下Touch到屏幕上的点在该子View上面
    if(...){
    if(views[i].dispatchTouchEvent(ev))
    return true;
    }
    }

    view的内部dispatchTouchEvent其实就是自己的onTouchEvent
    View
    public boolean dispatchTouchEvent(MotionEvent ev){
    ....//其他处理,在此不管 return onTouchEvent(event);
    }
    这就不容易解释为什么不拦截的情况下,就是子不要父才能要 只要一个子要,就不继续往下执行,父就不能要的吗 因为直接return了 循环终止了。

  • 120
    Android 子线程吐司

    测试代码 报错信息 报错信息有两点提示: Toast 需要创建 handler Handler 里需要有关联的Looper:调用 Looper.prepare 疑问:那么是不...

  • 【Android】Retrofit网络请求参数注解,@Path、@Query、@QueryMap...

    对Retrofit已经使用了一点时间了,是时候归纳一下各种网络请求的service了。 下面分为GET、POST、DELETE还有PUT的请求,说明@Path、@Query、...

  • 120
    Android - 图片处理之Glide4.0版本

    前言 一般项目我都会使用Glide作为我的图片加载框架,他和Picasso ,真的很像,郭大神早就分析过了,很详细,这里也就简单做个记录。小白白一枚,学习路上 Android...

  • 120
    读书,你一定掉过的坑! ——读《如何读一本书》

    漫漫读书路,你一定掉进过以下读书的坑: 想读书但不知道该读什么书; 当当大促看着别人屯书嗨,自己完全不知该买什么; 网上书单太多不知道哪个适合自己; 终于下决心读点书,又发现...