`
ff20081528
  • 浏览: 85813 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android实现类似gif格式动画

阅读更多
   在开发应用的时候时常想用一些类似于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();
    }
}
0
0
分享到:
评论

相关推荐

    Android显示gif动画的例子

    在Android平台上,开发人员经常需要实现显示动态效果,如GIF动画。本篇文章将深入探讨如何在Android应用中轻松地展示GIF动画,基于提供的资源`GIFView.jar`。这个库提供了一种简单的方法来播放GIF文件,使得开发者...

    android显示GIF动画

    在Android平台上,由于原生系统并未提供内置支持GIF动画的功能,开发者们通常需要借助第三方库来实现这一功能。本文将深入探讨如何在Android应用中显示GIF动画,并结合一个实际案例来阐述这一过程。 首先,我们需要...

    android实现图片闪烁动画效果的两种实现方式(实用性高)

    大家在使用APP的时候,有的APP在点击语音搜索界面后,会出现一个小话筒,小话筒会类似雷达似得在闪烁,表示正在倾听你说话的内容(这个大家可以参照微软的必应APP),那么问题来了,这种动画效果是如何实现的呢?...

    Android中播放gif和flash动画的demo

    类似qq魔法表情功能,所以查找资料提前调查该功能的实现方式,目前demo中1、重写imageview控件实现播放gif动画;2、用webview和js播放flash动画;3、将gif动画分割成帧,播放帧动画;4、类似魔法表情,可实现循环...

    解决Android4.3彩信幻灯片中gif格式图片不能正常播放

    该问题可能源于Android 4.3内核对GIF格式支持的不足,或者是系统内置的多媒体库不兼容GIF动画的播放。因此,解决方法通常涉及到以下几点: 1. **自定义GIF解析器**:由于系统默认的图像解码器可能不支持GIF动画,...

    android-gif-drawable 支持gif显示DEMO

    在"android-gif-drawable 支持gif显示DEMO"中,开发者可以找到一个实际的示例,展示了如何在Android应用中实现GIF动画的显示。这个DEMO包含两个主要部分:本地GIF显示和网络加载GIF显示。 1. **本地GIF显示**: - ...

    android Animation动画实现loading效果

    帧动画适合制作类似GIF的连续图片播放效果。 二、创建Loading动画 1. 补间动画实现 补间动画通常通过`Animation`类及其子类如`AlphaAnimation`、`RotateAnimation`、`ScaleAnimation`等来实现。例如,一个简单的...

    Android ImageViewEx 支持Gif显示的ImageView Demo.zip

    然而,原生的`ImageView`并不支持直接播放Gif动画,这使得开发者需要寻找其他的解决方案来实现Gif图片的展示。本Demo——"Android ImageViewEx 支持Gif显示的ImageView"就是针对这一需求提供的一个实例,它扩展了`...

    Android 显示GIF动画源码.zip

    本资源“Android 显示GIF动画源码.zip”提供了实现这一功能的源代码,帮助开发者理解并掌握如何在Android应用中播放GIF动画。 在Android中,由于系统原生不支持直接播放GIF,我们需要借助第三方库或自定义视图来...

    android 可动态显示gif的TextView

    这是参考别人的显示gif的textview而写出来的,可同时显示gif和png还有文字,类似于QQ聊天时输入动态表情, 不足的是,由于各gif的频率不一致,在输入多个不同gif时,有些gif可能看起来会慢一些 参考:...

    Android-用于加载GIF文件的Android库

    在Android应用开发中,动态图像是一个常见的需求,特别是GIF格式,它广泛用于表情、动画和各种交互式用户界面元素。"Android-用于加载GIF文件的Android库"是针对这种需求的一个解决方案,旨在帮助开发者高效且流畅地...

    Android动画之Tween动画实现

    第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。 本例子主要实现了Tweene动画,实现了页面等待、开门、元素旋转平移缩放渐变等功能,并且使用了在Activity界面直接操作动画、重写View处理...

    安卓GIF相关-分享一款Android中的根据dribbble上的一个gif图片实现的MaterialDesign风格加载按钮.rar

    3. **创建自定义View**:创建一个自定义的Android View,继承自ImageView或自定义动画视图,以展示GIF动画。 4. **集成动画**:将解析后的JSON动画数据集成到自定义View中,并添加触控事件监听,以响应用户的点击和...

    android播放gif图片

    在Android平台上,由于系统本身并不直接支持GIF图片的播放,开发者需要采取一些变通的方式来实现GIF动画的展示。本文将详细介绍如何在Android中播放GIF图片,并提供相关的代码解析。 首先,Android系统并不内置播放...

    访微信语音播放动画,语音播放动画

    - Android提供了多种动画实现方式,如`ObjectAnimator`、`ValueAnimator`和`PropertyAnimator`等。在微信语音播放动画中,我们可能需要使用`ObjectAnimator`来改变按钮的形状,使其从矩形转变为小喇叭图标。这涉及...

    android-gif-drawable 支持fig显示的view.zip

    这个项目可能包含了一个库或者框架,使得开发者能够在Android应用中轻松地集成和播放GIF动画。 【描述】"Android应用项目开发源码 参考和学习使用" 暗示这个压缩包提供了完整的源代码,适合开发者进行深入研究和...

    安卓GIF相关-GifImageView-master支持播放gif动画.zip

    Android原生SDK并不直接支持GIF动画的播放,因此开发者需要借助第三方库来实现。这个GifImageView-master项目很可能就是这样一个库,它提供了自定义的视图控件,能够加载并播放GIF文件。 在GifImageView-master项目...

Global site tag (gtag.js) - Google Analytics