初始化ImageLoader

package com.bwei.application;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import android.app.Application;

public class MyApplication extends Application {

@Override
    public void onCreate() {
        
        super.onCreate();
        // 初始化ImageLoader
        ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(
                this).memoryCacheSize(2 * 1024 * 1024).build();
        ImageLoader.getInstance().init(configuration);

}

}

//图片边距

ScaleType scaleType=ScaleType.FIT_XY;
        iv.setScaleType(scaleType);

//加载图片
ImageLoader.getInstance().displayImage(booklist.get(position).coverImg, iv);

//加载图片

BitmapUtils utils = new BitmapUtils(context);

utils.display(iv1, glist.get(position).imgurl);

自动轮播+Fragment     代码:

package com.bwei.fragment;

import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

import com.bwei.adapter.Myf1gvAdapter;
import com.bwei.adapter.Myf1pageAdapter;
import com.bwei.fragment.item.F1gvActivity;
import com.bwei.utils.EntWorkUtils;
import com.bwei.uu.R;
import com.bwei.vo.Category;
import com.bwei.vo.ComicBook;
import com.bwei.vo.ComicBook.Result.BookList;
import com.google.gson.Gson;

import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.LinearLayout.LayoutParams;

public class FragMent1 extends Fragment {
    private View v;
    private ViewPager vp;
    private LinearLayout llt;
    private List<String> blist;
    private String json;
    private LinearLayout lin;
    private GridView gv;

int[] img = new int[] { R.drawable.haizei1, R.drawable.v6, R.drawable.v7,
            R.drawable.v8, R.drawable.v9 };
    List<ImageView> ivlist = new ArrayList<ImageView>();

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        v = inflater.inflate(R.layout.fragment1, null);
        // 控件
        find();
        // 解析
        getData();
        // 适配器
        vp.setAdapter(new Myf1pageAdapter(getActivity(), img));
        initDot();
        vp.setCurrentItem(100000);
        setTimer();
        // 监听事件
        pageListener();
        // 监听事件
        gv.setOnItemClickListener(new OnItemClickListener() {

@Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

// 进入跳转
                Intent intent = new Intent(getActivity(), F1gvActivity.class);
                intent.putExtra("type", blist.get(position));
                startActivity(intent);

}
        });

return v;
    }

// 监听事件
    private void pageListener() {

vp.setOnPageChangeListener(new OnPageChangeListener() {

@Override
            public void onPageSelected(int position) {
                for (int i = 0; i < ivlist.size(); i++) {
                    if (position % ivlist.size() == i) {
                        // 同步
                        ivlist.get(position % ivlist.size()).setImageResource(
                                R.drawable.dot_focuse);
                    } else {
                        // 不同步
                        ivlist.get(i).setImageResource(R.drawable.dot_normal);
                    }

}

}

@Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub

}

@Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub

}
        });
    }

// 计时
    private void setTimer() {
        Timer tim = new Timer();
        tim.schedule(new TimerTask() {

@Override
            public void run() {

getActivity().runOnUiThread(new Runnable() {

@Override
                    public void run() {
                        // 当前索引值
                        int item = vp.getCurrentItem();
                        item++;
                        vp.setCurrentItem(item);
                    }
                });

}
        }, 0, 3000);

}

private void initDot() {
        if (ivlist != null) {
            ivlist.clear();
        }
        for (int i = 0; i < img.length; i++) {
            ImageView iv = new ImageView(getActivity());
            if (i == 0) {
                // 默认图片
                iv.setImageResource(R.drawable.dot_focuse);
            } else {
                iv.setImageResource(R.drawable.dot_normal);
            }
            ivlist.add(iv);
            // 图片大小
            LayoutParams params = new LayoutParams(12, 12);
            // 图片间距
            params.setMargins(10, 0, 10, 0);
            lin.addView(iv, params);

}

}

// 异步交互
    private void getData() {
        // TODO Auto-generated method stub
        new AsyncTask<Void, Void, Void>() {

@Override
            protected Void doInBackground(Void... params) {
                //路径
                json = EntWorkUtils
                        .getStr("http://japi.juhe.cn/comic/category?key=eddbc1ce67ba5ede8e31a69adc40c315");

return null;
            }

@Override
            protected void onPostExecute(Void result) {
                // TODO Auto-generated method stub
                super.onPostExecute(result);
                // gson解析
                Gson gson = new Gson();                
                Category shonen2 = gson.fromJson(json, Category.class);
                blist = shonen2.result;
                // gv适配器
                gv.setAdapter(new Myf1gvAdapter(getActivity(), blist));

}

}.execute();
    }

// 控件
    private void find() {
        vp = (ViewPager) v.findViewById(R.id.vpimg);
        llt = (LinearLayout) v.findViewById(R.id.llt);
        lin = (LinearLayout) v.findViewById(R.id.lin);
        gv = (GridView) v.findViewById(R.id.gv);
        llt.getBackground().setAlpha(150);
    }

}

ViewPager   适配器

package com.bwei.adapter;

import android.content.Context;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;

public class Myf1pageAdapter extends PagerAdapter {

Context context;
    int[] img;
    
    public Myf1pageAdapter(Context context, int[] img) {
        this.context=context;
        this.img=img;
    }

@Override
    public int getCount() {
        // TODO Auto-generated method stub
        return Integer.MAX_VALUE;
    }

@Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        // TODO Auto-generated method stub
        return arg0==arg1;
    }

@Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }

@Override
    public Object instantiateItem(ViewGroup container, int position) {
        ImageView iv=new ImageView(context);
        ScaleType scaleType=ScaleType.FIT_XY;
        iv.setScaleType(scaleType);
        iv.setImageResource(img[position%img.length]);
        container.addView(iv);
        
        return iv;
    }

}

GridView     适配器

package com.bwei.adapter;

import java.util.List;

import com.bwei.uu.R;
import com.bwei.vo.ComicBook.Result.BookList;
import com.nostra13.universalimageloader.core.ImageLoader;

import android.content.Context;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.ListAdapter;
import android.widget.TextView;

public class Myf1gvAdapter extends BaseAdapter implements ListAdapter {

Context context;
    List<String> blist;
    int[] ids = new int[]{R.drawable.sn12,R.drawable.qn1,R.drawable.sn11,R.drawable.lm12};

public Myf1gvAdapter(Context context, List<String> blist) {
        this.blist=blist;
        this.context=context;
    }

@Override
    public int getCount() {
        // TODO Auto-generated method stub
        return blist.size();
    }

@Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return null;
    }

@Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        if(convertView==null){
            convertView=View.inflate(context, R.layout.gv_tem, null);
            
        }
        ImageView iv=(ImageView) convertView.findViewById(R.id.imageView1);
        TextView tname=(TextView) convertView.findViewById(R.id.tname);
        tname.setText(blist.get(position).toString());
        ScaleType scaleType=ScaleType.FIT_XY;
        iv.setScaleType(scaleType);
        
        iv.setImageResource(ids[position]);
        
        
        return convertView;
    }

}

漫画城之自动轮播+GridView相关推荐

  1. vue 里怎么使用 echarts 实现地图自动轮播功能、自定义 tooltip 悬浮位置提示、自定义 label 标签位置样式?

    要实现的功能 比如:我们要实现白云地图24镇街的常住人口统计展示,然后需要我们实现 1s 自动轮播一次地区,自定义标签样式,自定义悬浮样式. 准备工作 1.安装依赖 npm i echarts -s ...

  2. ios 图片自动轮播

    ios 图片自动轮播 #import "NYViewController.h"#define kImageCount 5@interface NYViewController () ...

  3. iOS实现图片自动轮播展示

    一.需要实现的效果如下图1,首页图片自动轮播展示,其中图片从网络异步加载,加载过程用风火轮显示加载中,如图2. 本文参考了以下博客文章: http://www.haodaima.net/art/268 ...

  4. php自动轮播图代码,JavaScript如何实现动态轮播图效果?(代码示例)

    本篇文章给大家带来的内容是JavaScript如何实现动态轮播图效果?(代码示例).有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 功能描述: 1.鼠标经过 左右侧箭头显示,鼠标离开 ...

  5. swiper4自动轮播切换手动触碰后停止踩坑——属性disableOnInteraction

    swiper4轮播设置autoplay自动切换后,即默认设置: <script> var mySwiper = new Swiper('.swiper-container', {autop ...

  6. java实现选项卡定时轮播_原生js面向对象编程-选项卡(自动轮播)

    原生js面向对象编程-选项卡(自动轮播) }#div1 input{color:#fff;width:100px;height:40px;background:darkseagreen;border: ...

  7. 手把手教你用jQuery实现手动自动轮播

    轮播原理简述 假设有三张图,一字排开,用一个div包起来. 再来一个 div ,宽高和每幅图宽高一样,加overflow :hidden,超过此 div 宽高的图,都看不见.例如下图只能看见 2 ,而 ...

  8. android 指示器平移动画,Android实现带指示器的自动轮播式ViewPager

    前言 最近在做项目的时候,有个需求就是实现自动轮播式的ViewPager,最直观的例子就是知乎日报顶部的ViewPager,它内部有着好几个子view,每个一段时间便自动滑动到下一个item view ...

  9. echarts 4.0.4怎么下载_怎么让ECharts的提示框tooltip自动轮播?

    1. 怎么让ECharts的提示框tooltip自动轮播? 在用ECharts做大屏或者可视化展示项目的时候,让提示框tooltip自动轮播是比较常见的需求,给大家推荐一个插件叫echarts-too ...

最新文章

  1. Java线程面试题 Top 50
  2. GET 和 POST的区别(转载)
  3. 微信“农场”偷偷上线!网友:偷菜还会远吗 QQ被抄麻了
  4. java怎么对作者名排序_Java 对象排序详解
  5. <matplotlib.lines.Line2D object at 0x7f68cfd5a2e8>终极解决办法
  6. 方正电脑如何关闭网络启动计算机,方正电脑怎么进安全模式
  7. 【转】移动,电信,中行软开,微软,百度等企业工作纯技术性分析
  8. IEC 60068-2 规范介绍
  9. Vue + ElementUI 实现一个动态添加元素的小例子
  10. 360极速浏览器更换背景颜色
  11. kali 安装 google 浏览器
  12. VEH+硬件断点实现无痕HOOK
  13. Linux下进行rar文件解压和压缩
  14. 模拟信号数字化传输系统的设计与仿真分析说明书
  15. OpenCV计算图像像素最大值、最小值
  16. 立方体图片的在线绘制与制作
  17. HAL库驱动NRF24L01实现数据传输
  18. matlab7 fig exe 阴影,Matlab 生成完全独立运行的 EXE文件的问题请教
  19. win7音量图标点了没反应的修复方法
  20. 深圳租房之我的经历(验)

热门文章

  1. pytorch中的nn.Bilinear
  2. 【网站制作视频教程】-第14讲 html多媒体应用!-传智播客
  3. NGINX实现TCP加密代理
  4. 基于SQLserver实现的医药销售管理系统
  5. python猴子选大王讲解_“猴子选大王”算法python实现
  6. windows平台下的mysql启动等基本操作
  7. ws1 kdevelop 报libQt5Core.so.5 找不到
  8. 计算机专业居榜首,单身率最高专业排行榜,计算机高居榜首,你的专业上榜了吗...
  9. Python post请求模拟登录淘宝并爬取商品列表!
  10. chain.doFilter()