我知道如何在本地包资源目录中读取gif图像.但现在我需要在其他包资源中阅读其他gif图像.例如主APP com.aaa.app读取资产中的com.bbb.app gif.我知道用
try {
context = this.createPackageContext("com.bbb.app",
Context.CONTEXT_IGNORE_SECURITY);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
AssetManager am = context.getResources().getAssets();
try {
InputStream is = am.open(fileName);
image = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
阅读jpg/png,但我想阅读gif使用Fresco lib.谁知道怎么做?
我已将Fresco添加到build.gradle中:
compile 'com.facebook.fresco:fresco:0.9.0+'
Run Code Online (Sandbox Code Playgroud)
每当我尝试构建项目时,我都会收到以下错误:
错误:任务':app:transformClassesWithJarMergingForDebug'的执行失败.
com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:bolts/AggregateException.class
如果我删除依赖项,那么错误就会消失.我在搜索中找不到类似的东西.
我有一些尺寸未知的本地图片。格式为jpeg。该任务将调整其大小以适合最大尺寸1280x960,并保持原始宽高比,并以低内存消耗将其保存到新文件。我在Fresco lib中发现了一个非常有用的方法:JpegTranscoder.transcodeJpeg()
操作流。它具有限制scaleNumerator
下采样的参数。如何在没有将完整位图加载到内存中以计算scaleNumerator
值的情况下使用Fresco获取原始位图大小?像Android BitmapFactory.Options类中的inJustDecodeBounds之类的东西
我在Play商店发布了我的应用程序,在我的测试中没有错误,但是我从Firebase收到的报告在我的适配器中出现了一些问题,跟踪错误和代码:
Exception android.view.InflateException: Binary XML file line #22: Binary XML file line #22: Error inflating class com.facebook.drawee.view.SimpleDraweeView
android.view.LayoutInflater.inflate (LayoutInflater.java:539)
android.view.LayoutInflater.inflate (LayoutInflater.java:423)
br.com.topimagens.topimagens.adapters.ImageAdapter.onCreateViewHolder (ImageAdapter.java:85)
br.com.topimagens.topimagens.adapters.ImageAdapter.onCreateViewHolder (ImageAdapter.java:51)
android.support.v7.widget.RecyclerView$Adapter.createViewHolder (RecyclerView.java:5779)
android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5003)
android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:4913)
android.support.v7.widget.LinearLayoutManager$LayoutState.next (LinearLayoutManager.java:2029)
android.support.v7.widget.LinearLayoutManager.layoutChunk (LinearLayoutManager.java:1414)
android.support.v7.widget.LinearLayoutManager.fill (LinearLayoutManager.java:1377)
android.support.v7.widget.LinearLayoutManager.onLayoutChildren (LinearLayoutManager.java:578)
android.support.v7.widget.RecyclerView.dispatchLayoutStep2 (RecyclerView.java:3260)
android.support.v7.widget.RecyclerView.dispatchLayout (RecyclerView.java:3069)
android.support.v7.widget.RecyclerView.onLayout (RecyclerView.java:3518)
android.view.View.layout (View.java:16646)
android.view.ViewGroup.layout (ViewGroup.java:5440)
android.support.design.widget.HeaderScrollingViewBehavior.layoutChild (HeaderScrollingViewBehavior.java:131)
android.support.design.widget.ViewOffsetBehavior.onLayoutChild (ViewOffsetBehavior.java:42)
android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild (AppBarLayout.java:1319)
android.support.design.widget.CoordinatorLayout.onLayout (CoordinatorLayout.java:817)
android.view.View.layout (View.java:16646)
android.view.ViewGroup.layout (ViewGroup.java:5440)
android.widget.RelativeLayout.onLayout (RelativeLayout.java:1079)
android.view.View.layout (View.java:16646)
android.view.ViewGroup.layout (ViewGroup.java:5440)
android.widget.FrameLayout.layoutChildren (FrameLayout.java:336)
android.widget.FrameLayout.onLayout (FrameLayout.java:273)
android.view.View.layout (View.java:16646)
android.view.ViewGroup.layout (ViewGroup.java:5440)
android.widget.LinearLayout.setChildFrame (LinearLayout.java:1743)
android.widget.LinearLayout.layoutVertical (LinearLayout.java:1586)
android.widget.LinearLayout.onLayout …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Fresco(我也曾尝试使用Glide和Picasso)从URL加载Google Play图书图片缩略图。我可以加载其他图像(例如https://i.imgur.com/6zDqjm8.jpg),但是当我使用Google Play图书缩略图链接(例如http:// books)时,仅显示占位符图像。 google.com/books/content?id=F1wgqlNi8AMC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api)。
我还尝试在Uri.parse代码中的链接末尾添加“ .jpeg”(因为在Web浏览器中该图像仍显示),但这没有任何区别。
您知道这是为什么和/或我做错了什么吗?
我的清单中有INTERNET许可。我的XML文件中也有Fresco命名空间。
我的壁画代码(摘自壁画入门 指南):
Uri uri = Uri.parse("http://books.google.com/books/content?id=F1wgqlNi8AMC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api");
SimpleDraweeView draweeView = findViewById(R.id.my_image_view);
draweeView.setImageURI(uri);
Run Code Online (Sandbox Code Playgroud)
SimpleDraweeView的XML代码:
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="130dp"
android:layout_height="130dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
fresco:placeholderImage="@drawable/search_white_24dp" />
Run Code Online (Sandbox Code Playgroud)
我正在使用的JSON(更多Google Play图书缩略图):https : //pastebin.com/hq4AFMRb
如果您需要更多信息(例如XML),请告诉我。如果可以,我不介意使用其他第三方库(包括Glide或Picasso)。
在最新版本的React Native 0.60.x动画GIF中,我无法使用以下壁画版本。
compile 'com.facebook.fresco:fresco:1.10.0'
compile 'com.facebook.fresco:animated-gif:1.10.0'
Run Code Online (Sandbox Code Playgroud) 我有一个SimpleDraweeView
位于回收站内的。
回收商:
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)
简单绘图视图:
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/feedImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
/>
Run Code Online (Sandbox Code Playgroud)
我尝试了很多ratio和scaleType,但我似乎无法得到能够显示完整高度的那个(仅显示90%)。宽度很好,但我似乎无法正确获得高度。哪种组合才是获得正确相位的正确组合?(如脸书)
我尝试了很多方法,但都失败了。有些可以帮助我。非常感谢你。我尝试了这个,但也失败了:https : //github.com/s13524801/android-fresco-blur/blob/master/app/src/main/java/com/android/blur/MainActivity.java