欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android实现图片浏览功能(图片器原理实现)

程序员文章站 2022-06-09 20:18:20
...

项目开发中做图片浏览的时候会用到这个功能,用原理实现的小工具

效果图:
Android实现图片浏览功能(图片器原理实现)

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    int imgs[] = {R.mipmap.ceshi, R.mipmap.ceshi2, R.mipmap.ceshi3, R.mipmap.ceshi4};//图片数据
    int len    = 0;//数组第一个长度
    private ImageView mImg;//图片切换器

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageButton top = findViewById(R.id.top);
        ImageButton bottom = findViewById(R.id.bottom);
        mImg = findViewById(R.id.img);
        top.setOnClickListener(this);
        bottom.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        int ID = v.getId();

        if (R.id.bottom == ID) {
            //当点击下一张的时候,长度变成+1
            len = len + 1;
            //如果下一张图片超过最大数量的图片便开始重置为0
            if (len >= imgs.length) {
                len = 0;
            }
        } else {
            //当点击上一张的时候,长度变为-1
            len = len - 1;
            //不说了,道理谁   都懂
            if (len < 0) {
                len = imgs.length - 1;
            }
        }
        /**
         * 真正处理照片
         */
        if (ID == R.id.top) {
            mImg.setImageResource(imgs[len]);
        } else {
            mImg.setImageResource(imgs[len]);
        }

    }
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.zk.switchbitmap.MainActivity">


    <ImageButton
        android:id="@+id/top"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:background="#fcfcfc"
        android:src="@mipmap/back" />

    <ImageView
        android:id="@+id/img"
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:layout_centerInParent="true"
        android:src="@mipmap/ceshi" />

    <ImageButton
        android:id="@+id/bottom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:background="#fcfcfc"
        android:src="@mipmap/more" />


</RelativeLayout>