android带圆点的轮播图,Android 实现轮播图效果 底部圆点布局实现
1、准备底部圆点的素材、利用Drawable的功能,去实现一个圆点图片的展示
drawable下新建两个Drawable resource file:dot_normal.xml和dot_select.xml
dot_normal.xml<?xml version="1.0" encoding="utf-8"?>
android:shape="oval">
android:width="10dp"
android:height="10dp" />
dot_select.xml<?xml version="1.0" encoding="utf-8"?>
android:shape="oval">
android:width="10dp"
android:height="10dp" />
新建类ImageBannerFramLayout继承FrameLayout并Create constructor matching super(实现前面三个构造方法就行)
实现方法initImageBannerViewGroup()和initDotLinearlayout()并在三个构造方法中调用//构造方法
public ImageBannerFramLayout(@NonNull Context context) {
super(context);
initImageBannerViewGroup();
initDotLinearlayout();
}
public ImageBannerFramLayout(@NonNull Context context, @Nullable AttributeSet attrs){
super(context, attrs);
initImageBannerViewGroup();
initDotLinearlayout();
}
public ImageBannerFramLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initImageBannerViewGroup();
initDotLinearlayout();
}
/**
* 初始化自定义的图片轮播核心类
*/
private void initImageBannerViewGroup() {
imageBannerViewGroup = new ImageBannerViewGroup(getContext());
//设置宽度和高度
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
imageBannerViewGroup.setLayoutParams(lp);
imageBannerViewGroup.setDotChangeListener(this);//这里将Listener传递给Framlayout
imageBannerViewGroup.setImageBannerLister(this);
addView(imageBannerViewGroup);
}
/**
* 初始化底部圆点布局
*/
private void initDotLinearlayout() {
linearLayout = new LinearLayout(getContext());
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, 40);
linearLayout.setLayoutParams(lp);
//水平并居中
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
linearLayout.setGravity(Gravity.CENTER);
//设置背景颜色
// linearLayout.setBackgroundColor(Color.RED);
addView(linearLayout);
//将圆点放到底部
FrameLayout.LayoutParams layoutParams = (LayoutParams) linearLayout.getLayoutParams();
layoutParams.gravity = Gravity.BOTTOM;
linearLayout.setLayoutParams(layoutParams);
//设置底部圆点透明度 3.0之后使用setAlpha(),3.0之前也是使用这个方法,但调用者不同
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
linearLayout.setAlpha(0.5f);//传入float值
} else {
linearLayout.getBackground().setAlpha(100);//传入int值0~255
}
}
添加方法addDotToLinearlayout()和addBitmapToImageBannerViewGroup()并在addBitmaps()中调用public void addBitmaps(List list) {
for (int i = 0; i < list.size(); i++) {
Bitmap bitmap = list.get(i);
addBitmapToImageBannerViewGroup(bitmap);
addDotToLinearlayout();
}
}
private void addDotToLinearlayout() {
ImageView imageView = new ImageView(getContext());
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
//设置圆点的距离
lp.setMargins(5, 5, 5, 5);
imageView.setLayoutParams(lp);
imageView.setImageResource(R.drawable.dot_normal);
linearLayout.addView(imageView);
}
private void addBitmapToImageBannerViewGroup(Bitmap bitmap) {
ImageView imageView = new ImageView(getContext());
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
//设置宽度(设备的宽度存储在全局变量C.WIDTH中)和高度
imageView.setLayoutParams(new ViewGroup.LayoutParams(C.WIDTH, ViewGroup.LayoutParams.WRAP_CONTENT));
imageView.setImageBitmap(bitmap);
imageBannerViewGroup.addView(imageView);
}
android带圆点的轮播图,Android 实现轮播图效果 底部圆点布局实现相关推荐
- android github轮播图,Android使用开源框架ANDROID-IMAGE-INDICATOR实现图片轮播部署
之前的博文中有介绍关于图片轮播的实现方式,分别为(含超链接): 今天通过使用GitHub中的开源项目android-image-indicator来简单实现APP自带图片的轮播以及加载网络图片进行轮播 ...
- android带视频和图片的轮播(banner)解决方案
方案只包含一个视频和多张图片,如果又多个视频的,可以修改适配器中的的播放器为一个list,并且在滑动中做相应的释放操作 一:实现一个视频和多张图片的轮播banner,使用到第三方框架有 1.轮播的基础 ...
- java写轮播图,Android零基础入门第49节:AdapterViewFlipper图片轮播
上一期学习了ExpandableListView的使用,你已经掌握了吗?本期开始学习AdapterViewFilpper的使用. 一.认识AdapterViewFilpper AdapterViewF ...
- Android自己定义控件之应用程序首页轮播图
如今基本上大多数的Android应用程序的首页都有轮播图.就是像下图这种(此图为转载的一篇博文中的图.拿来直接用了): 像这种组件我相信大多数的应用程序都会使用到,本文就是自己定义一个这种组件,能够动 ...
- js轮播图片小圆点变化_纯js实现轮播图,详解(简单,无缝,小圆点,左右手动切换,自动轮动)...
无论用什么语言开发可视化界面,都有一个叫轮播图的东西.我们现在有个需求,如图: slideshow1.PNG 左右切换按钮默认为隐藏,当鼠标进入图片时,左右切换按钮时显示的,当鼠标离开图片时左右切换按 ...
- android带动画的饼图,Android部分源码资源共享(视屏转GIF图片工具、仿抖音、仿朋友圈、仿红包、饼状图、引导图,图灵源码等)...
视屏转为gif图片工具: 下载地址:CSDN 下载 1.封装了各项工具类,例如,日志,打印,缓存等,可直接使用项目 百度网盘:下载 提取码:fq07 2.Android高仿抖音 1.项目 的bu ...
- c语言实现图片轮播,纯css实现轮播图
轮播图的实现原理其实是比较简单的 举个例子 main的宽度是100px div-main的宽度是500px 我们用js控制div-main往左或往右移动,这样就实现了轮播,简单把 好了,先介绍个 cs ...
- Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框
转载请注明出处http://blog.csdn.net/xiaanming/article/details/11066685 今天给大家带来一个很实用的小控件ClearEditText,就是在Andr ...
- axure轮播图怎么设置循环轮播_Axure教程:轮播图制作步骤详解
不管是在PC端还是移动端,轮播图是常见的设计元素.下面详细讲解轮播图的制作步骤. 作为Axure初学者,把最近学到的记录下来,和大家一起学习. 如何实现轮播图: 循环展示轮播图片: 将圆点与轮播图一一 ...
最新文章
- TP v5中环境变量在项目中的应用
- netty 管道和handler的加载和处理流程
- 计算机创建快捷方式w10,win10无法创建快捷方式,win10发送快捷方式磁盘满了
- 统计学习笔记(1) 监督学习概论(1)
- mongoshake实现mongodb数据同步
- 运动:延伸你的美丽(图)
- Nginx 404 500
- 基于python的在线考试系统-基于 Python 的电子教室和在线考试系统源代码
- CSDN在线下载免费获取积分
- 《Java并发编程实战》读书笔记一:基础知识
- 韦东山嵌入式学习视频完整目录
- 单独设置一页或者多页的页眉或者页脚
- u盘盘符不显示 win10_电脑插上优盘不显示怎么办_win10电脑插上优盘不显示弹窗的处理方法...
- FreeBSD新的JAIL管理工具QJAIL
- android img 文件解包
- 【飞书集成自建应用教程】
- 2017-2018-2 《密码与安全新技术》第一周作业
- 用计算机怎么做成绩表,利用Excel制作一个简单的学生成绩表.doc
- A BERT Baseline for the Natural Questions
- 围棋计算机运算,围棋冠军:用计算力赢计算机
热门文章
- 泛微oa流程表单之意见栏字数限制
- LPDDR4特点和基本概念--基于Hynix H9HCNNNBPUMLHR系列
- 电子招投标管理系统源码-电子招投标认证服务平台-权威认证
- (泡在网上的日子)(各种源码)
- 使用Process Monitor对病毒进行行为分析
- 微信小程序怎么开发(小程序开发文档)
- 安装ros导航包,teb_local_planner步骤
- 关于下载IAR for stm8及使用Power Writer下载程序笔记
- 监理考试用计算机,监理工程师考试用什么计算器
- php div 居中代码,用CSS实现DIV水平居中显示