随着语音的快速普及,很多应用都开始增加语音输入功能。下面是一个简单的语音和文字输入的动画切换:
布局文件:
<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进行手势滑动操作。