ViewFlipper控件入门

来源:互联网 发布:十堰卡五星软件 编辑:程序博客网 时间:2024/05/17 01:04
主代码
public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener {    private int[] imgs = {R.drawable.lunbo, R.drawable.love,            R.drawable.gril, R.drawable.kakaxi, R.drawable.android    };    GestureDetector gestureDetector = null;    ViewFlipper viewFlipper = null;    Activity mActivity = null;    /**     * ATTENTION: This was auto-generated to implement the App Indexing API.     * See https://g.co/AppIndexing/AndroidStudio for more information.     */    private GoogleApiClient client;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mActivity = this;        viewFlipper = (ViewFlipper) findViewById(R.id.viewflipper);        gestureDetector = new GestureDetector(this);    // 声明检测手势事件        for (int i = 0; i < imgs.length; i++) {            // 添加图片源            ImageView iv = new ImageView(this);            iv.setImageResource(imgs[i]);            iv.setScaleType(ImageView.ScaleType.FIT_XY);            viewFlipper.addView(iv, new ActionBar.LayoutParams(ActionBar.LayoutParams.FILL_PARENT, ActionBar.LayoutParams.FILL_PARENT));        }        viewFlipper.setAutoStart(true);            // 设置自动播放功能(点击事件,前自动播放)        viewFlipper.setFlipInterval(1000);        if (viewFlipper.isAutoStart() && !viewFlipper.isFlipping()) {            viewFlipper.startFlipping();        }        // ATTENTION: This was auto-generated to implement the App Indexing API.        // See https://g.co/AppIndexing/AndroidStudio for more information.        client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();    }//    @Override//    public boolean onTouchEvent(MotionEvent event) {//        viewFlipper.stopFlipping();           // 点击事件后,停止自动播放//        viewFlipper.setAutoStart(false);//        return gestureDetector.onTouchEvent(event);     // 注册手势事件//    }    @Override    public boolean onDown(MotionEvent motionEvent) {        return false;    }    @Override    public void onShowPress(MotionEvent motionEvent) {    }    @Override    public boolean onSingleTapUp(MotionEvent motionEvent) {        return true;    }    @Override    public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {        return true;    }    @Override    public void onLongPress(MotionEvent motionEvent) {    }    @Override    public boolean onFling(MotionEvent e1, MotionEvent e2, float v, float v1) {        if(e2.getX() - e1.getX() > 120){          // 从左向右滑动(左进右出)            Animation rInAnim = AnimationUtils.loadAnimation(mActivity,R.anim.anima);  // 向右滑动左侧进入的渐变效果(alpha  0.1 -> 1.0)            Animation rOutAnim = AnimationUtils.loadAnimation(mActivity,R.anim.anima); // 向右滑动右侧滑出的渐变效果(alpha 1.0  -> 0.1)            viewFlipper.setInAnimation(rInAnim);            viewFlipper.setOutAnimation(rOutAnim);            viewFlipper.showPrevious();            return true;        } else if (e2.getX() - e1.getX() < -120) {     // 从右向左滑动(右进左出)            Animation lInAnim = AnimationUtils.loadAnimation(mActivity,R.anim.anima);     // 向左滑动左侧进入的渐变效果(alpha 0.1  -> 1.0)            Animation lOutAnim = AnimationUtils.loadAnimation(mActivity,R.anim.anima);     // 向左滑动右侧滑出的渐变效果(alpha 1.0  -> 0.1)            viewFlipper.setInAnimation(lInAnim);            viewFlipper.setOutAnimation(lOutAnim);            viewFlipper.showNext();            return true;        }        return true;    }
布局文件
<?xml version="1.0" encoding="utf-8"?><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"    tools:context="com.example.tab.MainActivity">    <ViewFlipper        android:id="@+id/viewflipper"        android:layout_width="match_parent"        android:layout_height="200dp"/></LinearLayout>
0 0
原创粉丝点击