滚动播放文字或者图片信息效果

源码地址   

package com.example.shifteffect;

import com.app.plugs.effect.EffectUtil;
import com.app.plugs.effect.view.EffectView;
import com.example.scrolleffect.R;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;

public class MainActivity extends Activity implements OnItemSelectedListener {

	// 展示渐变动效的容器,用于容纳渐变效果库的View控件
	private LinearLayout container;

	// 渐变效果库的View控件类
	private EffectView mView;

	// 文字资源(用于展示渐变切换)
	private String[] mTexts = { "今日新闻1", "今日新闻2", "今日新闻3" };

	// 图片资源(用于展示渐变切换)
	private int[] mImages = { R.drawable.image_1, R.drawable.image_2, R.drawable.image_3 };

	// 内容选项
	private Spinner sp1;
	private ArrayAdapter<String> aa1;
	private String[] menu1 = { "内容:文字", "内容:图片" };

	// 渐变时间选项
	private Spinner sp2;
	private ArrayAdapter<String> aa2;
	private String[] menu2 = { "动时:300ms", "动时:1000ms", "动时:3000ms" };

	// 渐变间隔选项
	private Spinner sp3;
	private ArrayAdapter<String> aa3;
	private String[] menu3 = { "停时:3000ms", "停时:5000ms", "停时:10000ms" };

	// 渐变效果选项
	private Spinner sp4;
	private ArrayAdapter<String> aa4;
	private String[] menu4 = { "动效:向上", "动效:向下", "动效:向左", "动效:向右", "动效:旋转",
			"动效:大小", "动效:渐变" };

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// 初始化展示动效的容器
		container = (LinearLayout) this.findViewById(R.id.container);

		// 初始化各个选项的内容
		sp1 = (Spinner) findViewById(R.id.spinner1);
		aa1 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, menu1);
		aa1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		sp1.setAdapter(aa1);
		sp1.setOnItemSelectedListener(this);

		sp2 = (Spinner) findViewById(R.id.spinner2);
		aa2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, menu2);
		aa2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		sp2.setAdapter(aa2);
		sp2.setOnItemSelectedListener(this);

		sp3 = (Spinner) findViewById(R.id.spinner3);
		aa3 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, menu3);
		aa3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		sp3.setAdapter(aa3);
		sp3.setOnItemSelectedListener(this);

		sp4 = (Spinner) findViewById(R.id.spinner4);
		aa4 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, menu4);
		aa4.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		sp4.setAdapter(aa4);
		sp4.setOnItemSelectedListener(this);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

	@Override
	public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
		// 内容选项逻辑(可选择滚动文字或者图片)
		if (parent.getAdapter() == aa1) {
			container.removeAllViews();
			switch (position) {
				case 0:
					// 初始化文字切换View对象
					mView = EffectUtil.fillTexts(this, EffectView.ANI_UP, 30, mTexts);
					container.addView(mView);
					mView.start();
					break;
				default:
					mView = EffectUtil.fillImages(this, EffectView.ANI_UP, mImages);
					container.addView(mView);
					mView.start();
					break;
			}
		}
		// 渐变时间选项逻辑
		if (parent.getAdapter() == aa2) {
			switch (position) {
				case 0:
					mView.setDuration(300);
					break;
				case 1:
					mView.setDuration(1000);
					break;
				default:
					mView.setDuration(3000);
					break;
			}
		}
		// 渐变间隔选项逻辑
		if (parent.getAdapter() == aa3) {
			switch (position) {
				case 0:
					mView.setInterval(3000);
					break;
				case 1:
					mView.setInterval(5000);
					break;
				default:
					mView.setInterval(10000);
					break;
			}
		}
		// 渐变效果选项
		if (parent.getAdapter() == aa4) {
			switch (position) {
				case 0:
					mView.setAnimation(EffectView.ANI_UP); // 往上滚动
					break;
				case 1:
					mView.setAnimation(EffectView.ANI_DOWN); // 往下滚动
					break;
				case 2:
					mView.setAnimation(EffectView.ANI_LEFT); // 往左滚动
					break;
				case 3:
					mView.setAnimation(EffectView.ANI_RIGHT); // 往右滚动
					break;
				case 4:
					mView.setAnimation(EffectView.ANI_ROTATE); // 旋转渐变
					break;
				case 5:
					mView.setAnimation(EffectView.ANI_SCALE); // 大小渐变
					break;
				default:
					mView.setAnimation(EffectView.ANI_FADE); // 消失渐变
					break;
			}
		}
	}

	@Override
	public void onNothingSelected(AdapterView<?> parent) {
		// TODO Auto-generated method stub

	}
}

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:padding="10dip"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">

	<Spinner android:id="@+id/spinner1"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />

	<Spinner android:id="@+id/spinner2"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />

	<Spinner android:id="@+id/spinner3"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />

	<Spinner android:id="@+id/spinner4"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />

	<LinearLayout android:id="@+id/container"
		android:layout_width="fill_parent"
		android:layout_height="fill_parent"
		android:layout_weight="1"
		android:gravity="center" />

</LinearLayout>
时间: 2024-09-08 05:03:02

滚动播放文字或者图片信息效果的相关文章

PS制作光影来回滚动扫描文字GIF动画效果教程

教大家用PhotoShop制作一种光影来加滚动扫描文字GIF动态效果,做这种效果的动画还是属于比较简单的,喜欢GIF动画的同学可以学习一下! 效果图: 1.新建图层,打上你喜欢的字. 2.创建新图层 3.用"画笔"工具在此画一笔(前景颜色便是画笔的颜色) 4.点击"窗口"---"动画"导出动画栏     相关GIF教程: PhotoShop制作用笔写字(手写字)GIF动画效果教程 PS简单制作旋转起来的太极阴阳字GIF动态图效果教程 PhotoS

基于JavaScript怎么实现让歌词滚动播放_javascript技巧

各种音乐播放器上都有一个自动滚动播放歌词的功能,当前滚动到的歌词会高亮居中显示,即使歌词被换行也能正常居中,那么这个功能基于JavaScript怎么实现让歌词滚动播放呢?请看下文详解. 一般音乐播放器使用的歌词格式都是lrc,为了方便处理,我们这里使用XML格式的歌词.介绍一个网站:中文歌词库.它提供xml格式的歌词. 我们先来看一下这个例子的最终效果: 下面是基于jQuery的具体代码: <!DOCTYPE html> <html lang="en"> <

jQuery实现图片文字淡入淡出效果_jquery

本实例主要讲解了jquery仿新浪微博图片文字列表上下淡进淡出间歇上下滚动效果,分享给大家供大家参考,具体内容如下 1.效果及功能说明 仿新浪微博图片文字列表上下淡进淡出间歇上下滚动 2.实现原理 首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在给图片添加一个动画的事件让他们可以滚动的播放出来上下滚动效果播放就是li标签里面的内容图片和文字把每一个li看成一个整体在滚动播放的时候进入div内的显示出来在最后离开div的时候隐藏在给整个动画效果设定一个时间就可以完整的运行. 3.

Flash制作文字扭曲的效果

本例通过使用动态遮罩绑定以及简单的影片剪辑复制来实现文字扭曲的效果.至于本例的实现原理,示意如图1: 图1 原理示意图 可以试想现在摆在面前的有一叠6张一模一样带字的圆形纸片,然后把倒数第2张并将其外围剪去宽度为整个圆半径1/6的圆环,把倒数第3张剪去2/6大小的圆环,倒数第4张3/6,第5张4/6,第6张5/6.剪完之后,仍然按照原来的顺序,对齐中心叠好.这样的一叠纸片就能够用来粗略地实现扭曲效果了.还不明白?试着转动不同层次的纸片看看. 图1左边的6个instance就可以看作是上面那个场景

PhotoShop制作图片循环滚动播放GIF动画教程

介绍PhotoShop制作屏幕上的图片循环滚动播放GIF动画效果,需要制作的图片要同样尺寸,不同尺寸的要调成同样大小,具体制作方法看教程, 喜欢的同学可以一起来学习一下! 最终效果图: 分类: PS入门教程

PhotoShop制作滚动渐隐文字GIF动画教程

本次PS动画教程教大家用PhotoShop制作滚动渐隐文字效果,主要利用蒙版来制作,属于初级的动画效果,喜欢并想学GIF动画的 同学可以学习一下! 效果图: 1.打开素材. 2.打上自己喜欢的字..我这里使用的是文鼎霹雳体.白色的字哦..我这里为了方便调整我打了两节字,打完了为了方便调整就合层. 3.把背景层解锁,然后把背景层向上挪一层.然后右键有个创建剪贴蒙版.如图. 分类: PS入门教程

数据库-随机取出图片并在页面滚动播放

问题描述 随机取出图片并在页面滚动播放 从数据库中随机取出5张图片,显示在页面并实现图片自动滚动播放的效果 解决方案 这很好做的,我为一个单位,做了一个视频播放,广告标语的小软件.就是是这个思路.一台旧电脑电,连接一个大屏幕,循环播放.还有音乐背景声. 解决方案二: 1.查询出图片,存入本地 2.使用本地路劲页面取值 3.html的滚动效果,百度一堆 这些代码就不手动敲了

Android中使用TextView实现文字跑马灯效果

通常情况下我们想实现文字的走马灯效果需要在xml文件中这样设置 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:focusable="true" android:

基于HTML5+CSS3的图片旋转、无限滚动、文字跳动特效

本文分享几种基于HTML5+CSS3实现的一些动画特效:图片旋转.无限滚动.文字跳动;实现起来均比较容易,动手来试试! 一.图片旋转 效果图如下: 这个效果实现起来其实并不困难.代码清单如下: <style type="text/css"> #liu{ width:280px; height: 279px; background: url(shishi.png) no-repeat; border-radius:140px; -webkit-animation:run 6s