课程/Android/移动开发
不一样的自定义实现轮播图效果
-
-
_03818395
2022-07-29

重点理解getScrollX()含义
-
0赞 · 0采集
-
-
追忆那逝去的
2018-04-08
求出虚拟机的屏幕宽度并使用

-
截图
0赞 · 0采集
-
-
ZXY狼惜
2017-09-11
- Scroller对象的使用
-
截图
0赞 · 0采集
-
-
ZXY狼惜
2017-09-11
- 计算手机屏幕宽度并使用
-
截图
0赞 · 0采集
-
-
夏Jue
2017-07-21
- case MotionEvent.ACTION_DOWN:
if(!scroll.isFinish()){
scroll.结束滑动();
}
-
0赞 · 0采集
-
-
夏Jue
2017-07-21
- startScroll
-
截图
0赞 · 0采集
-
-
夏Jue
2017-07-21
- computeScroll
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-03-31
- ***现在在按下的那一瞬间,做一个小小的优化,如果scroller还没有滑动完成的话,那么停止动画,也就是结束这个图片的滑动。在图片的滑动过程中再去按下一次的话,那么就会停止滑动而不会再造成滑动混乱。
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-03-31
- ***有了Scroller对象之后,那么在OnTouchEvent()方法中就不再使用scrollTo()方法,而是使用Scroller的实例方法startScroll(),第一个参数就是当前通过getScrollX(0方法得到的scrollX的值然后利用postInvalidate()方法去通知它。
startScroll
在API级别1中添加
void startScroll(int startX,
int startY,
int dx,
int dy)
通过提供起点和行驶距离开始滚动。卷轴将使用250毫秒的默认值。
参数
startX int:以像素为单位开始水平滚动偏移。正数将向左滚动内容。
startY int:以像素为单位开始垂直滚动偏移。正数将滚动内容。
dx int:水平行驶距离。正数将向左滚动内容。
dy int:垂直行驶距离。正数将滚动内容。
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-03-31
- ***第二步:我们要在自定义的ViewGroup当中利用Scroller对象的话,我们必须要在
该类中实现一个方法:computerScroll();
***然后进行判断Scroller对象是否已经滑动完毕,如果没有滑动完毕的话,就还需要利用ScrollTo()方法。然后还要调用invalidate()方法让ViewGroup去重绘、
getCurrX
在API级别1中添加
int getCurrX()
返回滚动中当前的X偏移量。
退货
int 新的X偏移量与原点的绝对距离。
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-03-31
- ***下面实现利用scroller对象来实现图片轮播。那么首先要定义一个Scroller对象
***第一步:在我们自定义的ViewGroup类中的三个构造方法中都去调用一个自己定义的方法,然后在这个新建的方法中去获得Scroller对象。
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-03-31
- 效果图
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-03-31
- setScaleType
在API级别1中添加
void setScaleType(ImageView.ScaleType scaleType)
控制如何调整图像大小或移动以匹配此ImageView的大小。
相关XML属性:
android:scaleType
参数
scaleType ImageView.ScaleType:所需的缩放模式。
setLayoutParams
在API级别1中添加
void setLayoutParams(ViewGroup.LayoutParams params)
设置与此视图关联的布局参数。这些参数提供给此视图的父级,指定如何排列。ViewGroup.LayoutParams有许多子类,这些子类对应于ViewGroup的不同子类,负责安排子项。
参数
params ViewGroup.LayoutParams:此视图的布局参数,不能为空
ViewGroup.LayoutParams
在API级别1中添加
ViewGroup.LayoutParams(int width,
int height)
创建一组具有指定宽度和高度的布局参数。
参数
width int:宽度,或者WRAP_CONTENT, FILL_PARENT(通过取代MATCH_PARENT在API级别8),或固定的像素大小
height int:高度,或者WRAP_CONTENT, FILL_PARENT(通过取代MATCH_PARENT在API级别8),或固定的像素大小
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-03-31
- ***那么我们在我们自定义的viewGroup当中添加imageView的时候,可以将该imageView的宽度设置为当前手机的宽度。
***那么如何计算手机的宽度呢?
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-03-31
- ***如何解决上一节遗留下来的问题?- 图片并没有充满手机屏幕的宽度。
因为第一张图片的宽度是720,而模拟器的宽度是768.
-
截图
0赞 · 0采集
-
-
最後的最後_
2017-03-31
- 这一节利用scroller对象来完成轮播图的手动轮播。
-
截图
0赞 · 0采集