zoukankan      html  css  js  c++  java
  • Android

    本文转载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; 
        } 
    } 

    至此,功能全部实现!

    亲测可用!!



     

  • 相关阅读:
    UVa 12235 状压DP Help Bubu
    UVa 1407 树形背包 Caves
    UVa 11552 DP Fewest Flops
    webgl helloworld
    webgl 初识2
    laya3d 文件格式
    webgl 初识1
    HTTP消息头(HTTP headers)-常用的HTTP请求头与响应头
    gulp 定义依赖关系
    你真的了解内存泄露吗?
  • 原文地址:https://www.cnblogs.com/tomatoSir/p/10769499.html
Copyright © 2011-2022 走看看