在开发应用的时候时常想用一些类似于gif能够变化的。网上也有些例子是通过对gif图片进行分解再解码实现的。但是比较麻烦,而起性能也不好。下面介绍利用ViewFlipper实现类似gif图片播放功能。
实现原理:
ViewFlipper组建可以可以实现图片的动态播放功能。
setAutoStart(true); 设置为可以自动播放
setFlipInterval(500); 设置播放间隔
startFlipping(); 开始自动播放
废话不多说,直接上代码。
1、main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
<ImageView
android:id="@+id/iv_test"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/index_button_pull_up"
android:layout_alignParentBottom="true"
/>
<ViewFlipper
android:id="@+id/vf_test1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dip"
android:layout_alignBottom="@+id/iv_test"
>
</ViewFlipper>
<ViewFlipper
android:id="@+id/vf_test2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_above="@+id/iv_test"
>
</ViewFlipper>
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
2、GifTestActivity.java
package org.sunday.main;
import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.ViewFlipper;
public class JpgTestActivity extends Activity {
/** Called when the activity is first created. */
private final String TAG = "JpgTestActivity";
private ViewFlipper vf;
private ViewFlipper vfNum;
private int[] imgs = {
R.drawable.location_show_tips_1, R.drawable.location_show_tips_2
};
private int[] imgsNum = {
R.drawable.screensavers_s_number_0,R.drawable.screensavers_s_number_1,
R.drawable.screensavers_s_number_2,R.drawable.screensavers_s_number_3,
R.drawable.screensavers_s_number_4,R.drawable.screensavers_s_number_5,
R.drawable.screensavers_s_number_6,R.drawable.screensavers_s_number_7,
R.drawable.screensavers_s_number_8,R.drawable.screensavers_s_number_9
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
vf = (ViewFlipper) findViewById(R.id.vf_test1);
vfNum = (ViewFlipper) findViewById(R.id.vf_test2);
for(int i=0; i<imgs.length; i++) {
ImageView iv = new ImageView(this);
iv.setImageResource(imgs[i]);
iv.setScaleType(ImageView.ScaleType.CENTER);
vf.addView(iv, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
for(int i=0; i<imgsNum.length; i++) {
ImageView iv = new ImageView(this);
iv.setImageResource(imgsNum[i]);
iv.setScaleType(ImageView.ScaleType.CENTER);
vfNum.addView(iv, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
vf.setAutoStart(true);
vf.setFlipInterval(500);
vf.startFlipping();
vfNum.setAutoStart(true);
vfNum.setFlipInterval(1000);
vfNum.startFlipping();
}
}
分享到:
相关推荐
在Android平台上,开发人员经常需要实现显示动态效果,如GIF动画。本篇文章将深入探讨如何在Android应用中轻松地展示GIF动画,基于提供的资源`GIFView.jar`。这个库提供了一种简单的方法来播放GIF文件,使得开发者...
在Android平台上,由于原生系统并未提供内置支持GIF动画的功能,开发者们通常需要借助第三方库来实现这一功能。本文将深入探讨如何在Android应用中显示GIF动画,并结合一个实际案例来阐述这一过程。 首先,我们需要...
大家在使用APP的时候,有的APP在点击语音搜索界面后,会出现一个小话筒,小话筒会类似雷达似得在闪烁,表示正在倾听你说话的内容(这个大家可以参照微软的必应APP),那么问题来了,这种动画效果是如何实现的呢?...
类似qq魔法表情功能,所以查找资料提前调查该功能的实现方式,目前demo中1、重写imageview控件实现播放gif动画;2、用webview和js播放flash动画;3、将gif动画分割成帧,播放帧动画;4、类似魔法表情,可实现循环...
该问题可能源于Android 4.3内核对GIF格式支持的不足,或者是系统内置的多媒体库不兼容GIF动画的播放。因此,解决方法通常涉及到以下几点: 1. **自定义GIF解析器**:由于系统默认的图像解码器可能不支持GIF动画,...
在"android-gif-drawable 支持gif显示DEMO"中,开发者可以找到一个实际的示例,展示了如何在Android应用中实现GIF动画的显示。这个DEMO包含两个主要部分:本地GIF显示和网络加载GIF显示。 1. **本地GIF显示**: - ...
帧动画适合制作类似GIF的连续图片播放效果。 二、创建Loading动画 1. 补间动画实现 补间动画通常通过`Animation`类及其子类如`AlphaAnimation`、`RotateAnimation`、`ScaleAnimation`等来实现。例如,一个简单的...
然而,原生的`ImageView`并不支持直接播放Gif动画,这使得开发者需要寻找其他的解决方案来实现Gif图片的展示。本Demo——"Android ImageViewEx 支持Gif显示的ImageView"就是针对这一需求提供的一个实例,它扩展了`...
本资源“Android 显示GIF动画源码.zip”提供了实现这一功能的源代码,帮助开发者理解并掌握如何在Android应用中播放GIF动画。 在Android中,由于系统原生不支持直接播放GIF,我们需要借助第三方库或自定义视图来...
这是参考别人的显示gif的textview而写出来的,可同时显示gif和png还有文字,类似于QQ聊天时输入动态表情, 不足的是,由于各gif的频率不一致,在输入多个不同gif时,有些gif可能看起来会慢一些 参考:...
在Android应用开发中,动态图像是一个常见的需求,特别是GIF格式,它广泛用于表情、动画和各种交互式用户界面元素。"Android-用于加载GIF文件的Android库"是针对这种需求的一个解决方案,旨在帮助开发者高效且流畅地...
第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。 本例子主要实现了Tweene动画,实现了页面等待、开门、元素旋转平移缩放渐变等功能,并且使用了在Activity界面直接操作动画、重写View处理...
3. **创建自定义View**:创建一个自定义的Android View,继承自ImageView或自定义动画视图,以展示GIF动画。 4. **集成动画**:将解析后的JSON动画数据集成到自定义View中,并添加触控事件监听,以响应用户的点击和...
在Android平台上,由于系统本身并不直接支持GIF图片的播放,开发者需要采取一些变通的方式来实现GIF动画的展示。本文将详细介绍如何在Android中播放GIF图片,并提供相关的代码解析。 首先,Android系统并不内置播放...
- Android提供了多种动画实现方式,如`ObjectAnimator`、`ValueAnimator`和`PropertyAnimator`等。在微信语音播放动画中,我们可能需要使用`ObjectAnimator`来改变按钮的形状,使其从矩形转变为小喇叭图标。这涉及...
这个项目可能包含了一个库或者框架,使得开发者能够在Android应用中轻松地集成和播放GIF动画。 【描述】"Android应用项目开发源码 参考和学习使用" 暗示这个压缩包提供了完整的源代码,适合开发者进行深入研究和...
Android原生SDK并不直接支持GIF动画的播放,因此开发者需要借助第三方库来实现。这个GifImageView-master项目很可能就是这样一个库,它提供了自定义的视图控件,能够加载并播放GIF文件。 在GifImageView-master项目...