activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ViewFlipper android:id="@+id/viewFlipper_1" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:id="@+id/linearLayout_1_1" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/p_w_picpathView_1_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/kobe0" /> </LinearLayout> <LinearLayout android:id="@+id/linearayout_2_2" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/p_w_picpathView_2_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/kobe1" /> </LinearLayout> <LinearLayout android:id="@+id/linearayout_3_3" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/p_w_picpathView_3_3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/kobe3" /> </LinearLayout> <LinearLayout android:id="@+id/linearayout_4_4" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/p_w_picpathView_4_4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/kobe4" /> </LinearLayout> </ViewFlipper> </LinearLayout>
res/anim/in_leftright.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="3000" android:fromXDelta="-100%p" android:toXDelta="0" > </translate> </set>
res/anim/in_rightleft.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="3000" android:fromXDelta="100%p" android:toXDelta="0" > </translate> </set>
res/anim/out_leftright.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="3000" android:fromXDelta="0" android:toXDelta="100%p" > </translate> </set>
res/anim/out_rightleft.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="3000" android:fromXDelta="0" android:toXDelta="-100%p" > </translate> </set>
MainActivity
package com.example.viewflipper;
import android.R.integer;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.widget.ViewFlipper;
public class MainActivity extends Activity {
private ViewFlipper viewFilpper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewFilpper=(ViewFlipper) findViewById(R.id.viewFlipper_1);
}
//重寫觸屏事件監聽方法
float startx=0.0F;
float endx=0.0F;
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
int action=event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
startx=event.getX();
break;
case MotionEvent.ACTION_UP:
//向右滑動
if(event.getX()-startx>10){
viewFilpper.setInAnimation(this, R.anim.in_leftright);
viewFilpper.setOutAnimation(this, R.anim.out_leftright);
viewFilpper.showNext();
}else if(startx-event.getX()>10){
viewFilpper.setInAnimation(this, R.anim.in_rightleft);
viewFilpper.setOutAnimation(this, R.anim.out_rightleft);
viewFilpper.showPrevious();
}
break;
default:
break;
}
return super.onTouchEvent(event);
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。