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>
<?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);
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。