Banner实现
来源:互联网 发布:按键精灵编程语言 编辑:程序博客网 时间:2024/06/09 18:00
首先导依赖
compile 'com.youth.banner:banner:1.4.9'compile 'com.github.bumptech.glide:glide:3.7.0'建立属于自己的Banner
public class MyBanner extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load(path).into(imageView); }}在Layout中写上Banner布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" ><com.youth.banner.Banner android:id="@+id/ban" android:layout_width="match_parent" android:layout_height="220dp"></com.youth.banner.Banner> <android.support.v7.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView></LinearLayout>
在Activity中调用建立一个blist
public class fragnew extends Fragment { View view; private Banner mBan; private RecyclerView mRv; List<String> blist=new ArrayList<String>(); New news; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = View.inflate(getActivity(), R.layout.frag_new, null); initView(); initData(); return view; } private void initView() { mBan = (Banner) view.findViewById(R.id.ban); mRv = (RecyclerView) view.findViewById(R.id.rv); LinearLayoutManager manger = new LinearLayoutManager(getActivity()); mRv.setLayoutManager(manger); } private void initData() { OkHttpUtils.getInstance().doGet(" http://news-at.zhihu.com/api/4/news/latest", new OnUiCallback() { @Override public void onFailed(Call call, IOException e) { Toast.makeText(getActivity(),"失败",Toast.LENGTH_SHORT).show(); } @Override public void onSuccess(final String result) throws IOException { final String s=result; Toast.makeText(getActivity(),"成功",Toast.LENGTH_SHORT).show(); getActivity().runOnUiThread(new Runnable() { @Override public void run() { news=new New(); news=new Gson().fromJson(s,New.class); MyRecyAdapter adapter=new MyRecyAdapter(getActivity(),news); mRv.setAdapter(adapter); mRv.addItemDecoration(new RecycleViewDivider(getActivity(), LinearLayoutManager.HORIZONTAL)); //Banner将blist集合中放入轮播要展示的图片 for(int i=0;i<news.getTop_stories().size();i++){ blist.add(news.getTop_stories().get(i).getImage()); } mBan.setImageLoader(new MyBanner()); mBan.setImages(blist); mBan.start(); } }); } }); }}
阅读全文
1 0
- Banner实现
- Android广告Banner实现
- banner轮播图的实现
- 实现banner模块
- appframework实现Banner轮播图
- Banner实现轮播
- android banner 实现轮播图
- Banner 简单实现轮播图
- Banner实现无限轮播图
- 安卓banner实现
- 实现Banner,TabLayout,XlistView
- Banner轮播图简单实现
- Banner的简单实现
- Android Banner 简单实现
- banner实现图片轮播
- 用JQuery实现全屏banner
- 实现简单的banner变换
- js 实现banner轮播
- 实现NEW_ARRAY/DELETE_ARRAY宏,模拟new[]/delete[]申请和释放数组
- Android的init过程详解(一)
- A3C经典源码
- 请记得为按钮规定 type 属性
- sendto 返回-1,errno为22,invalid argument的解决办法,mark一下
- Banner实现
- angularjs验证
- SQL Server 2008 R2 清空数据库中ldf日志文件
- 软件安装:rpm、yum
- HDU 1506(动态规划)
- Drozer一亲测------安全审计与攻击框架-------drozer全功能介绍之配置环境篇
- eclipse 安装python 不出现PyDev选项解决方法
- 微信如何备份全部的聊天记录到电脑
- javascript中:call、apply和 bind的简单使用方法