private LinearLayout mContentContainer;//文章容器

1.普通文章

private void dealNormalArt(String content){//content是html格式的文章    String reg = "";//匹配img标签    Pattern pattern = Pattern.compile(reg);    Matcher matcher = pattern.matcher(content);    List imgurls=new ArrayList<>();    boolean result = matcher.find();    while(result) {//开始查找        Pattern p_src = Pattern.compile("(src|SRC)=(\"|\')(.*?)(\"|\')");//匹配img的src        Matcher m_src = p_src.matcher(matcher.group());        if (m_src.find()) {            String str_src = m_src.group();            String src=str_src.substring(5,str_src.length()-1);//去掉前边的src="和后面的"            imgurls.add(src);//将处理好的图片地址加入List        }        result = matcher.find();//判断是否还有img标签    }    String[] text = pattern.split(content);//获得被图片分割的文本数组    for (int i=0;i

2.幻灯片图片文章

private void dealPicGroup(String content){//content是json数据,涉及到json处理的部分按照实际数据处理    String[] parts = content.split("\\[\\{");    TextView textView = new TextView(this);    textView.setText(Html.fromHtml(parts[0]));//设置标题    mContentContainer.addView(textView);    try {        JSONArray array=new JSONArray("[{"+parts[1]);        ArrayList viewList = new ArrayList<>();        ViewPager pager = new ViewPager(this);//使用ViewPager        pager.setBackgroundColor(getResources().getColor(R.color.black));        LayoutInflater inflater = getLayoutInflater();        Log.i(TAG,"list size: "+array.length());        for (int i =0; i

image_group_item.xml

<?xml version="1.0" encoding="utf-8"?>            

GroupImageAdapter.java

import android.support.annotation.NonNull;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import java.util.ArrayList;public class GroupImageAdapter extends PagerAdapter {    private ArrayList viewList;    public GroupImageAdapter(ArrayList viewList) {        this.viewList = viewList;    }    @Override    public int getCount() {        return viewList.size();    }    @Override    public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {        return view == o;    }    @NonNull    @Override    public Object instantiateItem(@NonNull ViewGroup container, int position) {        container.addView(viewList.get(position));        return viewList.get(position);    }    @Override    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {        container.removeView(viewList.get(position));    }}

 

更多相关文章

  1. Android前端开发15:显示网络图片
  2. Android Retrofit 图片上传的最简单和明白的实现方式
  3. Android设置桌面背景图片的方法
  4. Android从服务器获取图片的实例方法
  5. Android 通过代码设置着色图片
  6. android添加图片到本地,无法即使刷新的解决方法
  7. Android 实现图片加水印

随机推荐

  1. SQL Server 2012 FileTable 新特性详解
  2. SQL查询服务器硬盘剩余空间
  3. 高并发系统数据幂等的解决方案
  4. Activiti-Explorer使用sql server数据库
  5. SQL Server数据表字段自定义自增数据格式
  6. SQLServer批量更新两个关联表数据的方法
  7. 使用SQL批量替换语句修改、增加、删除字
  8. SQL Server 存储过程遇到“表 &#39;&#39;
  9. 浅谈数据库优化方案
  10. Win10 64位安装个人版SQL2000图文教程