本文转载https://xwc2013.iteye.com/blog/1976051

今天看到了一种文字翻滚的效果,感觉非常实用。所以就自己试着做出了这种效果,现在把它分享给大家!

首先在res目录下新建anim文件夹,再在其中分别新建push_up_in.xml和push_up_out.xml 两个文件,具体如下:

push_up_in.xml  文字进入的效果 时长设置为0.5秒

<?xml version="1.0" encoding="utf-8"?>
  <set xmlns:android="http://schemas.android.com/apk/res/android">
  <translate android:fromYDelta="100%p" android:toYDelta="0" android:duration="500"/>
  <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" />
  </set>

push_up_out.xml  文字淡出的效果 设置动画时长 duration

<?xml version="1.0" encoding="utf-8"?>
  <set xmlns:android="http://schemas.android.com/apk/res/android">
  <translate android:fromYDelta="0" android:toYDelta="-100%p" android:duration="500"/>
   <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="500" />
  </set>

如果要实现 文字的不停的向上翻滚的效果,那么这时我们可以使用使用到ViewFlipper,用它把我们希望显示的内容包裹起来。具体实现代码如下:

  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" >   <TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="@string/hello" />   <ViewFlipper
  android:id="@+id/viewfli"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="#ffffff">
  </ViewFlipper>   </LinearLayout>

TextViewAmonActivity.java

package com.taoblog; 

  import java.util.ArrayList;
  import java.util.List;   import android.app.Activity;
  import android.os.Bundle;
  import android.widget.TextView;
  import android.widget.ViewFlipper;   /**
  * @Description:TODO 实现文字的上下翻滚的效果
  */   public class TextViewAmonActivity extends Activity {
  private ViewFlipper viewfli;
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);   init();   }   /**
  * @Description: 对UI进行初始化操作
  */
 private void init()
 {
viewfli = (ViewFlipper) super.findViewById(R.id.viewfli); // 为ViewFlipper设置内容
List<TextView> list = this.getData();
int size = list.size();
for(int i = 0; i < size; i++)
{
viewfli.addView(list.get(i));
} // 设置文字in/out的动画效果
viewfli.setInAnimation(this, R.anim.push_up_in);
viewfli.setOutAnimation(this, R.anim.push_up_out);
viewfli.startFlipping();
} /**
* @Description: 要显示的文字信息
* 在实际开发中,此方法可为对服务器返回数据的解析操作 * @return list
*/
private List<TextView> getData()
{
List<TextView> list = new ArrayList<TextView>(); for(int i = 0; i < 5; i++)
{
TextView tv = (TextView) new TextView(this);
tv.setText("这是测试用的第 "+i+" 行测试数据:");
list.add(tv);
} return list;
}
}

至此,功能全部实现!

亲测可用!!

 

Android - 文字向上翻滚效果的实现的更多相关文章

  1. 原生js实现文字无缝向上滚动效果

    在网上查找到了一个实现文字无缝向上滚动效果的源码,结果发现运行有问题,于是就稍加改动,实现了js无缝向上滚动的效果. <script> window.onload = roll(50); ...

  2. android按钮被点击文字颜色变化效果

    有的时候做应用需要点击按钮时文字颜色也跟着变,松开后又还原,目前发现两种解决方案:第一用图片,如果出现的地方比较多,那么图片的量就相当可观:第二,也就是本文讲到的.废话少说,先贴图片,再上代码. 正常 ...

  3. Android开发:文本控件详解——TextView(二)文字跑马灯效果实现

    一.需要使用的属性: 1.android:ellipsize 作用:若文字过长,控制该控件如何显示. 对于同样的文字“Android开发:文本控件详解——TextView(二)文字跑马灯效果实现”,不 ...

  4. android文字阴影效果(转)

    关于android文字阴影,共有四个属性可以设置: android:shadowColor :阴影颜色 android:shadowDx :阴影x方向位移 android:shadowDy :阴影y方 ...

  5. 【转】(转)【Android】Paint的效果研究

    转自:http://wpf814533631.iteye.com/blog/1847661 (转)[Android]Paint的效果研究 博客分类: android   在Paint中有很多的属性可以 ...

  6. android文字阴影效果设置

    <TextView android:id="@+id/tvText1" android:layout_width="wrap_content" andro ...

  7. Android自定义类似ProgressDialog效果的Dialog

    Android自定义类似ProgressDialog效果的Dialog. 方法如下: 1.首先准备两张自己要定义成哪样子的效果的图片和背景图片(也可以不要背景). 如我要的效果: 2.定义loadin ...

  8. 解决Android Graphical Layout 界面效果不显示

    解决Android Graphical Layout 界面效果不显示 qq463431476

  9. android 的闪屏效果

    android的闪屏效果,就是我们刚开始启动应用的时候弹出的界面或者动画,过2秒之后自动的跳转到主界面. 其实,实现这个效果很简单,使用Handler对象的postDelayed方法就可以实现.在这个 ...

随机推荐

  1. 深入理解es6-Promise对象

    前言     在之前翻博客时,看到promise,又重读了一边,突然发现理解很浅,记的笔记也不是很好理解,又重新学习promise,加深理解,学以致用     在promise出来之前,js常用解决异 ...

  2. org.springframework.cache.interceptor.SimpleKey cannot be cast to java.lang.String

    springboot整合redis时,使用@Cacheable注解,如果方法的key参数为空,就会报org.springframework.cache.interceptor.SimpleKey ca ...

  3. 为什么Eureca Client要分成服务提供者和服务消费者呢?

    [学习笔记]转载 6)为什么Eureca Client要分成服务提供者和服务消费者呢? 通 常来讲,服务提供方是重量的耗时的,所以可能在n台机器上.而服务消费方是轻量的,通过配置ribbon和@Loa ...

  4. vue 中使用promise

    init1(){return new Promise((resolve, reject) => { let data={ dateStr:this.time }; api.get('url', ...

  5. Android之应用市场排行榜、上架、首发

    文章大纲 一.应用市场排行榜介绍二.应用市场上架介绍三.应用市场首发介绍四.参考文档   一.应用市场排行榜介绍   iiMedia Research(艾媒咨询)权威发布<2017-2018中国 ...

  6. asp.net core重新加载应用配置

    asp.net core重新加载应用配置 Intro 我把配置放在了数据库或者是Redis里,配置需要修改的时候我要直接修改数据库,然后调用一个接口去重新加载应用配置,于是就尝试写一个运行时重新加载配 ...

  7. Windows下安装lxml库方法

    如果直接用pip install lxml安装成功,那么恭喜!!! 一般在windows安装都十分蛋疼,pip无法直接安装(提示错误一大片,此处省略……) 因此选择wheel安装方式,步骤如下: 1. ...

  8. Markdown工具Atom及基本语法

    下载使用 访问atom.io下载Atom 这里下载的是1.33.1版本 好用的插件包 点击File->Settings->Packages,可以安装指定的插件包. markdown-img ...

  9. 【安富莱TCPnet网络教程】HTTP通信实例

    第41章      HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...

  10. C# 4.0 的 Visual Studio 2010 示例

    C# 4.0 的 Visual Studio 2010 示例 我们将 C# 示例分为两种不同的类别: 语言示例 LINQ 示例 语言示例 语言示例帮助您熟悉各种 C# 语言功能.这些示例包含在 Lan ...