Android实现图片切换—imageSwitch

目录

一、界面布局

1、界面效果

一个图片展示框,居中放置,两个按钮,实现图片的切换
在这里插入图片描述

2、布局代码

.xml

<ImageSwitcher
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:id="@+id/is_1"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="上一张"
            android:layout_weight="1"
            android:textColor="#ff3333"
            android:background="@color/white"
            android:id="@+id/btn_previous"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="下一张"
            android:layout_weight="1"
            android:textColor="#ff3333"
            android:background="@color/white"
            android:id="@+id/btn_next"/>

    </LinearLayout>

在这里插入图片描述

二、功能实现

定义按钮设置监听

private ImageSwitcher is_1;
     private Button btn_next;
     private Button btn_previous;
     private int image[]={
    
    R.drawable.image1,R.drawable.image2,R.drawable.image3,R.drawable.image4};
     private int imageIndex=0;
is_1=(ImageSwitcher) findViewById(R.id.is_1);
        btn_next=(Button) findViewById(R.id.btn_next);
        btn_previous=(Button) findViewById(R.id.btn_previous);
        is_1.setFactory(this);
        is_1.setImageResource(image[imageIndex]);
        btn_next.setOnClickListener(this);
        btn_previous.setOnClickListener(this);

在这里插入图片描述
初始化imageSwitch

private void init(){
    
    
        is_1.setFactory(this);
        is_1.setImageResource(image[imageIndex]);
    }

在这里插入图片描述
通过点击事件修改图片序号,放到imageSwitch中

public void onClick(View view){
    
    
         if (view.getId()==R.id.btn_next){
    
    
             imageIndex ++;
             if(imageIndex>3){
    
    
                 imageIndex=0;
             }
         }else if(view.getId()==R.id.btn_previous){
    
    
             imageIndex --;
             if(imageIndex<0){
    
    
                 imageIndex=image.length-1;
             }
         }
         is_1.setImageResource(image[imageIndex]);
     }

在这里插入图片描述
实现viewfactory的接口,生成一个imageview

 public View makeView() {
    
    
         ImageView imageView=new ImageView(this);
         return imageView;
     }

在这里插入图片描述

三、结果演示

在这里插入图片描述
在这里插入图片描述

Guess you like

Origin blog.csdn.net/QWERTYzxw/article/details/116607474