在Android小部件应用程序中播放gif

时间:2016-06-22 04:13:53

标签: android bitmap android-drawable animated-gif android-remoteview

我正在开展一个项目,我需要在Android小部件removeObserver:forKeyPath:context:中播放gif。为此,我尝试了所有可能的方法,使用ImageView和像https://github.com/felipecsl/GifImageView的图书馆 https://github.com/koral--/android-gif-drawable

我面临的问题

  1. Glide - 由于Glide属性,我无法将gif加载到ImageView(即只能分配位图和资源,不能可绘)

  2. 库 - 我无法使用任何第三方库,因为所有库都扩展了RemoteView(因为View在布局中不支持RemoteView ,CustomView也无法实现,因为没有办法分配或调用自定义方法(因为ViewsetImageViewResource只是setImageViewBitmap中显示的可能方法)

  3. 我要做的是:

    由于我无法找到满足此要求的任何解决方案,因此我尝试通过将gif下载并将gif分成多个帧RemoteView来尝试自己的方法,然后计划在Bitmap中使用这些帧{1}}。如果可以实现任何其他解决方案来实现此功能,请帮助我。在过去的7天里,我一直在研究这个问题,但是找不到符合我要求的解决方案。任何提示和建议对我都非常有帮助。提前谢谢。

1 个答案:

答案 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!
}