【问题标题】:Using Glide for Android, how do I load images from asset and resources?使用 Glide for Android,我如何从资产和资源中加载图像?
【发布时间】:2015-07-11 00:25:47
【问题描述】:

我想让所有的变换、描边和动画保持一致,并在考虑是否可以在 Glide 中传递资源 ID 或资产名称以在本地加载它?

【问题讨论】:

    标签: android lazy-loading android-glide


    【解决方案1】:

    使用.asBitmap()时有效

    String pathUri="file:///android_asset/img/flower.jpg";
    Glide.with(context).asBitmap().load(Uri.parse(pathUri)).into(holder.imgView_post);
    

    【讨论】:

      【解决方案2】:
      Glide
      .with(context)
      .load(uri)
      .asBitmap()
      .placeholder(R.drawable.yourimage)
      .error(R.drawable.yourimage)
      .into(yourview);
      

      除了上面的答案,如果图像 URL 返回 null,您可以像上面一样将默认图像加载到视图中。

      【讨论】:

        【解决方案3】:

        对于资源 ID,您可以使用:

        Glide.with(fragment)
            .load(R.drawable.resource_id)
            .into(imageView);
        

        对于资产,可以构造一个资产uri:

        Glide.with(fragment)
            .load(Uri.parse("file:///android_asset/<assetName>"))
            .into(imageView);
        

        【讨论】:

        • 对于“assetName”不要忘记添加扩展名,例如:“image.jpg”
        • 不应该是R.drawable.resource_id吗?
        • 对其他人来说可能很明显,但我花了很多时间弄清楚这一点,因为我认为 android_asset/assetName 应该被我的资产路径替换。最后我发现只有assetNamefile:///android_asset/ 应该一直存在
        • 不推荐使用 with(fragment)。现在你应该使用 with(context)
        • 在现代安卓操作系统上注意Uri.parse(),而不是FileProvider.getUriForFile()
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-29
        • 2011-11-30
        • 1970-01-01
        • 2010-10-21
        • 1970-01-01
        相关资源
        最近更新 更多