首先,重写控件View,自定义一个展示gif图的GifView,代码如下: package net.loonggg.gif.view; import net.loonggg.gif.R; ...(Context context) { this(context, null); } public GifView(Context context, AttributeSet... attrs) { this(context, attrs, R.styleable.CustomTheme_gifViewStyle); } public GifView..., defStyle, R.style.Widget_GifView); mMovieResourceId = array.getResourceId(R.styleable.GifView_gif..., -1); mPaused = array.getBoolean(R.styleable.GifView_paused, false); array.recycle
首先,重写控件View,自定义一个展示gif图的GifView Movie其实管理着GIF动画中的多个帧,只需要通过 setTime() 一下就可以让它在draw()的时候绘出相应的那帧图像。...public class GifView extends View { /** * 默认为1秒 */ private static final int DEFAULT_MOVIE_DURATION...(Context context) { this(context, null); } public GifView(Context context, AttributeSet attrs) {...this(context, attrs, R.styleable.CustomTheme_gifViewStyle); } public GifView(Context context, AttributeSet..., defStyle, R.style.Widget_GifView); mMovieResourceId = array.getResourceId(R.styleable.GifView_gif,
我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个GifView控件到窗体界面上 ?...修改GifView的属性 AutoPlay属性 获得和设置是否自动播放Gif动画,默认设置为“True”,如图 1; ?...Size属性 让GifView控件大小为(25, 25),如图 5; ?
_gifView) { UIImageView *gifView = [[UIImageView alloc] init]; [self addSubview:_gifView...= gifView]; } return _gifView; } - (NSMutableDictionary *)stateImages { if (!...) return; //gifView没有约束,直接返回 self.gifView.frame = self.bounds; if (self.stateLabel.hidden...= UIViewContentModeCenter; } else { //图片居gifView右边显示 self.gifView.contentMode = UIViewContentModeRight...]; } else { // 多张图片 self.gifView.animationImages = images; self.gifView.animationDuration
NSArray *images = self.stateImages[@(state)]; if (images.count == 0) return; [self.gifView...stopAnimating]; if (images.count == 1) { //1.1 单张图片 self.gifView.image...= [images lastObject]; } else { //1.2 多张图片 self.gifView.animationImages...= images; self.gifView.animationDuration = [self.stateDurations[@(state)] doubleValue];...[self.gifView startAnimating]; } } else if (state == MJRefreshStateIdle) {
DesignStyle属性为“MyButton”,设置界面见图3,手机显示效果见图4 图1 图2 图3 图4 三、相关控件 BarCodeView,Button,CheckBox,DatePicker,GifView
实现 首先定义一些需要的属性,用于在布局文件中设置gif <declare-styleable name="<em>GIFVIEW</em>" <!...像播放视频一样播放Gif动画 这部分是我在写完GifView后想到的一点进阶功能,既然我们已经实现了播放和暂停,即能控制在某个时间点播放指定的Gif图片帧,如果再加入进度条,快进等功能,那么不就能做到和视频播放器一样的功能了吗...限于篇幅,我只简单实现了进度条功能,更多功能实现请移步Github,地址: GifView 。 ? 以上就是本文的全部内容,希望对大家的学习有所帮助。
使用效果展示: self.createBlurBackground(img, view: self.gifView, blurRadius: 50) ? 使用前 ? 使用后
属性设置前的手机显示效果见图3 属性设置后的手机显示效果见图4 图1 图2 图3 图4 三、相关控件 AlbumView、BarcodeButton、CameraButton、ContextMenu、gifView
GifView:Android上的另一个显示和绘制GIF的库。 ➤图片 uCrop:Android上的图片修剪库。 Glide:Android媒体管理和图片加载库。
GIF有天然的劣势,图片质量很低,有很多应用的Splash界面会直接播放gif格式的文件,避免通过xml和代码实现起来过于复杂,github上优秀的GIF开源库有:GifView和android-gif-drawable
GifView:Android上的另一个显示和绘制GIF的库。 21.图片 uCrop:Android上的图片修剪库。 Glide:Android媒体管理和图片加载库。
领取专属 10元无门槛券
手把手带您无忧上云