语音输入和文字输入动画切换

2014-07-19 23:04:13 · 作者: · 浏览: 85

  语音输入和文字输入动画切换,有需要的朋友可以参考下。

  随着语音的快速普及,很多应用都开始增加语音输入功能。下面是一个简单的语音和文字输入的动画切换:

  布局文件:

  <ViewFlipper

  android:id="@+id/viewFlipper1"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:layout_alignParentBottom="true" >

  <LinearLayout

  android:id="@+id/layout01"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content" >

  <Button

  android:id="@+id/bt"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:layout_weight="1"

  android:text="button" />

  <ImageView

  android:id="@+id/image01"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:src="@android:drawable/ic_btn_speak_now"/>"

  </LinearLayout>

  <LinearLayout

  android:id="@+id/layout02"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:visibility="gone" >

  <EditText

  android:id="@+id/tv"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:layout_weight="1" />

  <ImageView

  android:id="@+id/image02"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:src="@android:drawable/ic_dialog_dialer"

  android:text="搜索"/>

  </LinearLayout>

  </ViewFlipper>

  ViewFlipper网上有很多介绍

  逻辑实现:

  viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper1);

  image01 = (ImageView)findViewById(R.id.image01);

  image02 = (ImageView)findViewById(R.id.image02);

  leftInAnimation = AnimationUtils.loadAnimation(this, R.anim.left_in);

  leftOutAnimation = AnimationUtils.loadAnimation(this, R.anim.left_out);

  image01.setOnClickListener(new OnClickListener() {

  @Override

  public void onClick(View v) {

  viewFlipper.setInAnimation(leftInAnimation);

  viewFlipper.setOutAnimation(leftOutAnimation);

  viewFlipper.showNext();//向右滑动

  }

  });

  image02.setOnClickListener(new OnClickListener() {

  @Override

  public void onClick(View v) {

  viewFlipper.setInAnimation(leftInAnimation);

  viewFlipper.setOutAnimation(leftOutAnimation);

  viewFlipper.showNext();//向右滑动

  }

  });

  这里只提供一点思路,其实还可以用OnGestureListener进行手势滑动操作。