ImageView 图片切换 点击左右箭头切换图片

 
 
MainActivity.java
package test.com.myimageview;

import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.ViewSwitcher;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    List<Drawable> drawableList = new ArrayList<Drawable>();//存放图片
    TextView arrowLeftTextView;//左箭头
    TextView arrowRightTextView;//右箭头
    private int index=0;//

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        drawableList.add(getResources().getDrawable(R.drawable.image01));//图片01
        drawableList.add(getResources().getDrawable(R.drawable.image02));//图片02
        drawableList.add(getResources().getDrawable(R.drawable.image03));//图片03
        drawableList.add(getResources().getDrawable(R.drawable.image04));//图片04

        final ImageSwitcher imageSwitcher = findViewById(R.id.imageSwitcher_is);
        arrowLeftTextView = findViewById(R.id.arrow_left_iv);
        arrowRightTextView = findViewById(R.id.arrow_right_iv);

        //工厂
        imageSwitcher.setFactory(new ViewSwitcher.ViewFactory() {
            @Override
            public View makeView() {
                return new ImageView(MainActivity.this);
            }
        });

        imageSwitcher.setImageDrawable(drawableList.get(index++));//初始化显示第一张图片

        arrowLeftTextView.setOnClickListener(new View.OnClickListener(){//左箭头单击事件
            @Override
            public void onClick(View view)
            {
                imageSwitcher.setImageDrawable(drawableList.get(index--));
                if(index<0)//如果到达了图片的开始,则直接显示最后一张图片
                {
                    index = drawableList.size()-1;
                }
            }
        });

        arrowRightTextView.setOnClickListener(new View.OnClickListener(){//右箭头单击事件
            @Override
            public void onClick(View view)
            {
                imageSwitcher.setImageDrawable(drawableList.get(index++));
                if(index>=drawableList.size())//如果点击到达图片的末尾,则回到第一张图片
                {
                    index = 0;
                }
            }
        });

    }

}

 
 
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">



    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center">
        
        <TextView
            android:id="@+id/arrow_left_iv"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:text="<"
            android:gravity="center"/>
        <ImageSwitcher
            android:id="@+id/imageSwitcher_is"
            android:layout_width="150dp"
            android:layout_height="150dp"/>
        <TextView
            android:id="@+id/arrow_right_iv"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:text=">"
            android:gravity="center"/>
        
    </LinearLayout>




</android.support.design.widget.CoordinatorLayout>




猜你喜欢

转载自blog.csdn.net/m0_37271466/article/details/80811584
今日推荐