標籤:android 動畫
隨著語音的快速普及,很多應用都開始增加語音輸入功能。下面是一個簡單的語音和文字輸入的動畫切換:
布局檔案:
<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() {@Overridepublic void onClick(View v) {viewFlipper.setInAnimation(leftInAnimation);viewFlipper.setOutAnimation(leftOutAnimation);viewFlipper.showNext();//向右滑動}});image02.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {viewFlipper.setInAnimation(leftInAnimation);viewFlipper.setOutAnimation(leftOutAnimation);viewFlipper.showNext();//向右滑動}});這裡只提供一點思路,其實還可以用OnGestureListener進行手勢滑動操作。