zoukankan      html  css  js  c++  java
  • ImageSwitcher图片切换的简单用例

    ImageSwitcher的原理:ImageSwitcher有两个子View:ImageView,当左右滑动的时候,就在这两个ImageView之间来回切换来显示图片

    实现左右滑动切换图片

    BaseActivity
    package com.shaoxin.myimageswitcher;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    
    /**
     * Created by shaoxin on 2016/12/4.
     */
    
    public abstract class BaseActivity extends AppCompatActivity {
        public abstract void init();
    
        public abstract void listener();
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            init();
            listener();
        }
    }
    MainActivity
    package com.shaoxin.myimageswitcher;
    
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.animation.AnimationUtils;
    import android.widget.ImageSwitcher;
    import android.widget.ImageView;
    import android.widget.ViewSwitcher;
    
    public class MainActivity extends BaseActivity{
        private ImageSwitcher imageSwitcher;
        private ViewSwitcher.ViewFactory factory;
        private int[] inid = {R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d};
        private int index = 0;
    
        @Override
        public void init() {
            setContentView(R.layout.activity_main);
            imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);
        }
    
        @Override
        public void listener() {
            factory = new ViewSwitcher.ViewFactory() {
                @Override
                public View makeView() {
                    ImageView imageView = new ImageView(MainActivity.this);
                    return imageView;
                }
            };
            imageSwitcher.setFactory(factory);
            imageSwitcher.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    imageSwitcher.setInAnimation(AnimationUtils.
                            loadAnimation(MainActivity.this, android.R.anim.fade_in));
                    imageSwitcher.setOutAnimation(AnimationUtils.
                            loadAnimation(MainActivity.this, android.R.anim.fade_out));
                    imageSwitcher.setImageResource(inid[index]);
                    index++;
                    if (index == inid.length)
                        index = 0;
                    return false;
                }
            });
        }
    
    
    }

    activity_main.xml

    <?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:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.shaoxin.myimageswitcher.MainActivity">
    
        <ImageSwitcher
            android:id="@+id/imageSwitcher"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>
  • 相关阅读:
    Python操作SQLServer示例
    T-SQL 谓词和运算符
    T-SQL 语句—— 游标
    SQL中的循环、for循环、游标
    web自动化快速入门
    接口自动化的总结
    jenkins知识
    SVN知识
    random.sample函数
    项目实战(六)
  • 原文地址:https://www.cnblogs.com/ShaoXin/p/6171283.html
Copyright © 2011-2022 走看看