{"id":20466136,"url":"https://github.com/xfhy/easybanner","last_synced_at":"2025-04-13T09:05:59.484Z","repository":{"id":127029085,"uuid":"105637572","full_name":"xfhy/EasyBanner","owner":"xfhy","description":"一个轻松实现简单banner的框架，轻松实现。。。。","archived":false,"fork":false,"pushed_at":"2018-11-25T13:12:54.000Z","size":154,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-13T09:05:51.641Z","etag":null,"topics":["banner","header","recyclerview","xml"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xfhy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-03T10:07:10.000Z","updated_at":"2022-10-17T00:53:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"6a1a8a1a-eb53-4e43-8df4-5d01f999b811","html_url":"https://github.com/xfhy/EasyBanner","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xfhy%2FEasyBanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xfhy%2FEasyBanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xfhy%2FEasyBanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xfhy%2FEasyBanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xfhy","download_url":"https://codeload.github.com/xfhy/EasyBanner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688572,"owners_count":21145766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["banner","header","recyclerview","xml"],"created_at":"2024-11-15T13:21:55.151Z","updated_at":"2025-04-13T09:05:59.479Z","avatar_url":"https://github.com/xfhy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EasyBanner\n\n\u003e 一个轻松实现简单banner的框架，轻松实现。。。。\n\n### 先上效果图：\n![](http://olg7c0d2n.bkt.clouddn.com/17-10-3/64062219.jpg)\n\n### 已实现的功能\n* 自动轮播\n* 无限左划右划\n* 加载网络图片交给外部调用者（实现解耦），加载标题\n* 底部小白点可切换，大小可换，数量可动态增加\n* 触摸时不能滑动\n* 实现banner的item点击事件\n* 广告数目可以随意\n* 可以在代码中生成banner，也可以在xml布局中生成\n\n## 引入\n\n**Step 1.** Add the JitPack repository to your build file\n```gradle\nallprojects {\n\t\trepositories {\n\t\t\t...\n\t\t\tmaven { url 'https://jitpack.io' }\n\t\t}\n\t}\n```\n**Step 2.** Add the dependency\n```gradle\ndependencies {\n\t\tcompile 'com.github.xfhy:EasyBanner:v1.0.3'\n\t}\n```\n\n## 简单使用\n\n\u003e 使用前将该EasyBanner 这个module导入到自己的项目，并在app主项目中依赖此module.\n\n### 1.在xml中使用\n\n``` xml\n\u003ccom.xfhy.easybanner.ui.EasyBanner\n    android:id=\"@+id/eb_banner\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"200dp\"/\u003e\n```\n\n``` java\n//可以在布局里面写\nmBanner = (EasyBanner) findViewById(R.id.eb_banner);\n//初始化:设置图片url和图片标题\nmBanner.initBanner(getImageUrlData(), getContentData());\n// 开始轮播\nmBanner.start();\n```\n\n### 2.在代码中使用banner\n\n``` java\n//也可以直接动态生成\nEasyBanner easyBanner = new EasyBanner(this);\n//初始化:设置图片url和图片标题\neasyBanner.initBanner(getImageUrlData(), getContentData());\nmRootView.addView(easyBanner,new LinearLayout.LayoutParams(LinearLayout\n        .LayoutParams.MATCH_PARENT, DensityUtil.dip2px(this,200)));\n// 开始轮播\nmBanner.start();\n```\n\n\n### 3.设置图片加载器（必须）\n\n``` java\n//设置图片加载器\nmBanner.setImageLoader(new EasyBanner.ImageLoader() {\n    @Override\n    public void loadImage(ImageView imageView, String url) {\n        Glide.with(mContext).load(url).into(imageView);\n    }\n});\n```\n\n### 4.实现点击事件(非必须)\n\n```java\n//监听banner的item点击事件\nmBanner.setOnItemClickListener(new EasyBanner.OnItemClickListener() {\n    @Override\n    public void onItemClick(int position, String title) {\n        Toast.makeText(MainActivity.this, \"position:\"+position+\"   title:\"+title, Toast\n                .LENGTH_SHORT).show();\n    }\n});\n```\n\n### 5.开始轮播(必须)\n\n初始化之后就可以调用start()方法开始轮播啦\n\n当然也可以在Activity或者fragment中的onResume()方法中调用start()方法开始轮播\n\n```java\nmBanner.start();\n```\n### 6.结束轮播(必须)\n\n当我们在离开当前Activity或者fragment时我们需要结束轮播,当然你也可以不结束.不结束轮播的话,它就一直在后台轮播....哈哈哈哈,这个问题暂时没有解决,,,,\n\n```java\n@Override\nprotected void onStop() {\n    super.onStop();\n    if (mBanner != null) {\n        mBanner.stop();\n    }\n}\n```\n\n基本使用就是这样，详情请看demo\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxfhy%2Feasybanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxfhy%2Feasybanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxfhy%2Feasybanner/lists"}