我在尝试在应用程序中使用的GIF遇到麻烦。当我运行我的应用程序时,它只是没有出现。我遵循了有关如何使其工作的教程,因此我不知道为什么不起作用。我也没有收到任何错误消息。所以,我的问题是,有人对此有何建议吗? 预先感谢您的帮助!
我的代码:
buildscript {
repositories {
mavenCentral()
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
}
}
allprojects
{
repositories
{
mavenCentral()
google()
jcenter()
}
}
App build script:
dependencies {
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.16'
}
XML:
<pl.droidsonroids.gif.GifImageView
android:layout_width="match_parent"
android:layout_height="60dp"
app:srcCompat="@drawable/gif" />
答案 0 :(得分:1)
我强烈建议您改为实施Lottie
。它支持另一种格式和自动播放功能。
https://github.com/airbnb/lottie-android
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lavSplash"
app:lottie_rawRes="@raw/splash"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
style="@style/Widget.Custom.Lottie"/>
<style name="LottieAppearance">
<item name="lottie_loop">true</item>
<item name="lottie_autoPlay">true</item>
<item name="android:layout_width">@dimen/wrap_content</item>
<item name="android:layout_height">@dimen/wrap_content</item>
</style>
<style name="Widget.Custom.Lottie" parent="LottieAppearance" />
答案 1 :(得分:1)
请尝试:
XML:
<pl.droidsonroids.gif.GifImageView
android:id="@+id/gif_view_offer"
android:layout_gravity="center"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginTop="20dp"
android:src="@drawable/checkmark"
android:layout_marginBottom="10dp"/>
JAVA:
GifImageView gifView;
GifDrawable gifFromResource = null;
gifView = (GifImageView) v.findViewById(R.id.gif_view_offer);
try {
gifFromResource = new GifDrawable(activity.getResources(), R.drawable.lockgif);
gifView.setImageDrawable(gifFromResource);
} catch (IOException e) {
gifView.setVisibility(View.GONE);
e.printStackTrace();
}