Android基于ViewFilpper实现文字LED显示效果示例

本文实例讲述了Android基于ViewFilpper实现文字LED显示效果。分享给大家供大家参考,具体如下:

这里给出来自Android官方API DEMO中动画效果实例。

/**
 * FlipperView文字效果动画之:文字滚动动画
 *
 * @description:
 * @author ldm
 * @date 2016-5-17 上午9:58:26
 */
public class Animation2 extends Activity implements
    AdapterView.OnItemSelectedListener {
  // Spinner数据源
  private String[] mStrings = { "Push up", "Push left", "Cross fade",
      "Hyperspace" };
  // 控件ViewFlipper
  private ViewFlipper mFlipper;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.animation_2);
    // 初始化UI控件
    initViews();
  }
  private void initViews() {
    mFlipper = ((ViewFlipper) this.findViewById(R.id.flipper));
    mFlipper.startFlipping();
    Spinner s = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter adapter = new ArrayAdapter(this,
        android.R.layout.simple_spinner_item, mStrings);
    // 定义Spinner下拉菜单模式
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    // 设置数据
    s.setAdapter(adapter);
    // 添加监听
    s.setOnItemSelectedListener(this);
  }
  /**
   * Spinner的item选择监听事件处理
   */
  @Override
  public void onItemSelected(AdapterView parent, View v, int position,
      long id) {
    switch (position) {
    case 0:// 文字从下进入,从上移出,伴随透明度变化
      mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
          R.anim.push_up_in));
      mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
          R.anim.push_up_out));
      break;
    case 1:// 文字从右侧向左进入,从右侧移出,伴随透明度变化
      mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
          R.anim.push_left_in));
      mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
          R.anim.push_left_out));
      break;
    case 2:// 文字透明度改变,从0-1-0
      mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
          android.R.anim.fade_in));
      mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
          android.R.anim.fade_out));
      break;
    default:// 多维空间动画(复合动画效果)
      mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
          R.anim.hyperspace_in));
      mFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
          R.anim.hyperspace_out));
      break;
    }
  }
  @Override
  public void onNothingSelected(AdapterView parent) {
    // TODO Auto-generated method stub
    // DO NOTHING
  }
}

布局文件,TextView中添加自己想显示的文字


  
    
    
    
    
  
  
  


动画文件res/anim文件夹下

1. push_up_in.xml



  
    android:fromYDelta="100%p"
    android:toYDelta="0" />
  
    android:toAlpha="1.0" />


2. push_up_out.xml



  
  

3. push_left_in.xml



  
  


4. push_left_out.xml



  
  


5. fade_in.xml




6. fade_out.xml



  android:toAlpha="0.0" />

7. hyperspace_in.xml



  android:toAlpha="1.0" />

8. hyperspace_out.xml



  
    android:fillEnabled="true"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="1.4"
    android:toYScale="0.6" />
  
    
      android:duration="400"
      android:fillAfter="true"
      android:fillBefore="false"
      android:fillEnabled="true"
      android:fromXScale="1.4"
      android:fromYScale="0.6"
      android:pivotX="50%"
      android:pivotY="50%"
      android:startOffset="700"
      android:toXScale="0.0"
      android:toYScale="0.0" />
    
      android:duration="400"
      android:fillAfter="true"
      android:fillBefore="false"
      android:fillEnabled="true"
      android:fromDegrees="0"
      android:pivotX="50%"
      android:pivotY="50%"
      android:startOffset="700"
      android:toDegrees="-45"
      android:toYScale="0.0" />
  


附开源代码:https://github.com/ldm520/ANDROID_API_DEMOS

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发动画技巧汇总》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

你可能感兴趣的:(Android基于ViewFilpper实现文字LED显示效果示例)