Created by wyouflf on 15/11/4.
| 30 | * Created by wyouflf on 15/11/4. |
| 31 | */ |
| 32 | @ContentView(R.layout.fragment_image) |
| 33 | public class ImageFragment extends BaseFragment { |
| 34 | |
| 35 | private String[] imgSites = { |
| 36 | "http://www.gaoxiaogif.cn", |
| 37 | "https://www.ivsky.com/tupian/ziranfengguang/", |
| 38 | "https://www.ivsky.com/tupian/chengshilvyou/" |
| 39 | }; |
| 40 | |
| 41 | ImageOptions imageOptions; |
| 42 | |
| 43 | @ViewInject(R.id.lv_img) |
| 44 | private ListView imageListView; |
| 45 | |
| 46 | @Override |
| 47 | public void onViewCreated(View view, Bundle savedInstanceState) { |
| 48 | super.onViewCreated(view, savedInstanceState); |
| 49 | imageOptions = new ImageOptions.Builder() |
| 50 | .setSize(DensityUtil.dip2px(120), DensityUtil.dip2px(120)) |
| 51 | .setRadius(DensityUtil.dip2px(5)) |
| 52 | // 如果ImageView的大小不是定义为wrap_content, 不要crop. |
| 53 | .setCrop(true) // 很多时候设置了合适的scaleType也不需要它. |
| 54 | // 加载中或错误图片的ScaleType |
| 55 | //.setPlaceholderScaleType(ImageView.ScaleType.MATRIX) |
| 56 | .setImageScaleType(ImageView.ScaleType.CENTER_CROP) |
| 57 | .setLoadingDrawableId(R.mipmap.ic_launcher) |
| 58 | .setFailureDrawableId(R.mipmap.ic_launcher) |
| 59 | .setIgnoreGif(false) |
| 60 | .build(); |
| 61 | |
| 62 | imageListAdapter = new ImageListAdapter(); |
| 63 | imageListView.setAdapter(imageListAdapter); |
| 64 | |
| 65 | // 加载url请求返回的图片连接给listview |
| 66 | // 这里只是简单的示例,并非最佳实践,图片较多时,最好上拉加载更多... |
| 67 | for (String url : imgSites) { |
| 68 | loadImgList(url); |
| 69 | } |
| 70 | } |
| 71 | |
| 72 | @Event(value = R.id.lv_img, type = AdapterView.OnItemClickListener.class) |
| 73 | private void onImageItemClick(AdapterView<?> parent, View view, int position, long id) { |
| 74 | Intent intent = new Intent(this.getActivity(), BigImageActivity.class); |
| 75 | intent.putExtra("url", imageListAdapter.getItem(position).toString()); |
| 76 | this.getActivity().startActivity(intent); |
| 77 | } |
| 78 | |
| 79 | private void loadImgList(String url) { |
| 80 | RequestParams params = new RequestParams(url); |
| 81 | params.setUseCookie(true); |
| 82 | // 随意找的图片, 模拟浏览器UA, 防止被屏蔽 |
| 83 | params.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.94"); |
| 84 | x.http().get(new RequestParams(url), new Callback.CommonCallback<String>() { |
| 85 | @Override |
| 86 | public void onSuccess(String result) { |
| 87 | imageListAdapter.addSrc(getImgSrcList(result)); |
| 88 | imageListAdapter.notifyDataSetChanged();//通知listview更新数据 |
| 89 | } |
nothing calls this directly
no outgoing calls
no test coverage detected