牢骚
最近回学校, 听说阿里好多实习生都被拒了, 不过大概都被捡漏了, UC这方面还没动静, 不知道是打算把我当临时工使还是怎么, 有点烦躁, 还是得加强自己的能力才行.
最近半年一直在做音乐播放器项目, 开发期间遇到了许多奇怪的问题, 有些我单独写了文章, 有些只是临时找到了解决方法, 没有仔细研究, 这里先总结一下.
坑
下载进度item无法长按
上面是一个比较常见的下载item, 开发中我们发现经常出现不能对其进行长按操作的情况, 表现就是长按后长按被取消.
追踪源码, 最可疑的地方就是requestLayout
.
一个控件调用requestLayout
, 很可能让他的父控件也调这个, 有可能导致最外围的item把自己的状态清除掉.
在很多情况下都会导致控件调用这个方法, 比如setText
, setImage*
, 当时发布比较赶, 没有仔细看TextView
的源码具体是个什么情况, 但是有一点可以确定, TextView
在宽度为match_parent
并且singleLine
为true
的情况下给他设置文本是不会调用requestLayout
的, 这是我当时测试的结果, 我们解决这个问题的方法就是让图中的所有文本都只允许单行, 且宽度match_parent
, 至于右下角, 那是将gravity
设为right
了, 两个TextView
在一个FrameLayout
里.