我正在开展一个项目,我需要在Android小部件removeObserver:forKeyPath:context:
中播放gif。为此,我尝试了所有可能的方法,使用ImageView
和像https://github.com/felipecsl/GifImageView的图书馆
https://github.com/koral--/android-gif-drawable
我面临的问题
Glide - 由于Glide
属性,我无法将gif加载到ImageView
(即只能分配位图和资源,不能可绘)
库 - 我无法使用任何第三方库,因为所有库都扩展了RemoteView
(因为View
在布局中不支持RemoteView
,CustomView也无法实现,因为没有办法分配或调用自定义方法(因为View
和setImageViewResource
只是setImageViewBitmap
中显示的可能方法)
我要做的是:
由于我无法找到满足此要求的任何解决方案,因此我尝试通过将gif下载并将gif分成多个帧RemoteView
来尝试自己的方法,然后计划在Bitmap
中使用这些帧{1}}。如果可以实现任何其他解决方案来实现此功能,请帮助我。在过去的7天里,我一直在研究这个问题,但是找不到符合我要求的解决方案。任何提示和建议对我都非常有帮助。提前谢谢。
答案 0 :(得分:0)
是的,您可以使用ImageViews加载gif,其中包含:
func PickerCell(tableView: UITableView, indexPath: NSIndexPath, inout picker: UIPickerView?) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("PickerCell")
if let pickerFromCell = cell?.contentView.viewWithTag(1) as? UIPickerView {
pickerFromCell.reloadAllComponents()
pickerFromCell.dataSource = self
pickerFromCell.delegate = self
picker = pickerFromCell
}
return cell!
}