android用线程池手动实现多图加载
用一个固定大小为5的线程池来实现多图加载:
首先实现Runnble子类,下载图片:
/**
* 进行图片下载任务 的线程
*/
public class ImageTask implements Runnable {
public ImageView imageView;
private String url;
private byte[] imageBytes;
private ImageTaskHandler handler;
public ImageTask(ImageView imageView, String url) {
2018-03-22
android图片
HttpUrlConnection用字节下载图片,用Bitmap放入ImageView
public class MainActivity extends AppCompatActivity {
private ImageView iv_img;
private byte[] pics;
private MyHandler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main
2018-03-22
android图片
ScrollView嵌套ScrollView的滑动冲突
结论: 在自定义控件中如下重写onInterceptTouchEvent就告诉所有父View:不要拦截事件,让我消费!!
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
getParent().requestDisallowInterceptTouchEvent(true);
return super.onInterceptTouchEvent(ev);
}
这是一个从源码角度分析滑动冲突的原因以及在源码中理解为何能解决滑动冲突
这是MainActivit
2018-03-16
View
View事件分发学习笔记
首先推荐郭霖的真正的通俗易懂的View的事件分发文章:
Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
文章中讲述了几个要点:
如果你在执行ACTION_DOWN的时候返回了false,后面一系列其它的action就不会再得到执行了。简单的说,就是当dispatchTouchEvent在进行事件分发的时候,只有前一个action返回true,才会触发后一个action。即消费事件才会继续有事件。
在dispatchMotionEvent方法中执行到了onTouchEvent中将MotionEvent对象传入switch中做ACTION_DOWN、ACTION_UP等判
2018-03-15
View
RecyclerView和glide搭配中的图片混乱
这个bug可以说是折磨了我很久了,问了人,查了博客,最后找到了答案。首先要搞明白RecyclerView中的ViewHolder的复用机制是什么,在,以及由于复用机制和请求网络mix在一起之后会发生哪些可能的事故,强烈推荐一个好文:
RecyclerView中ViewHolder重用机制理解(解决图片错乱和闪烁问题)
总结一下就是:
RecyclerView用的是我们自定义的内部类ViewHolder来复用的,也就是复用的是ViewHoler
当屏幕下滑,item1滑出可视区域,将item1的ViewHolder对象给item8复用,那么此时item1中ViewHolder对象中持有
2018-03-11
Android
2018-02-08T08-13-24-479Z格式的时间解析
当服务器返回的格式为"createdAt": "2018-02-08T20:30:00.798Z",的字符串格式的时间格式时,解析方式如下:
package com.solory.gankionews.Util;
/*
*
* Created by William on 2018/3/9.
*/
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public clas
2018-03-09
Android