You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Kotlin实现点击按钮依次切换10张图片

Kotlin实现点击按钮切换10张图片

准备工作

把你的10张图片放入项目的res/drawable目录,建议按顺序命名(比如img_1到img_10),方便后续统一管理。

编写布局文件

在activity_main.xml中添加用于显示图片的ImageView和触发切换的Button:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    android:padding="16dp">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/img_1" /> <!-- 默认加载第一张图 -->

    <Button
        android:id="@+id/switchBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="切换下一张"
        android:layout_marginTop="24dp"/>

</LinearLayout>

编写Kotlin逻辑代码

在MainActivity.kt中实现核心切换逻辑:

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.ImageView

class MainActivity : AppCompatActivity() {
    // 按顺序存储所有图片的资源ID
    private val imageIds = arrayOf(
        R.drawable.img_1,
        R.drawable.img_2,
        R.drawable.img_3,
        R.drawable.img_4,
        R.drawable.img_5,
        R.drawable.img_6,
        R.drawable.img_7,
        R.drawable.img_8,
        R.drawable.img_9,
        R.drawable.img_10
    )
    private var currentIndex = 0 // 当前显示图片的索引(初始为第一张)

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val imageView = findViewById<ImageView>(R.id.imageView)
        val switchBtn = findViewById<Button>(R.id.switchBtn)

        switchBtn.setOnClickListener {
            // 切换到下一张,直到第10张后停止
            if (currentIndex < imageIds.size - 1) {
                currentIndex++
                imageView.setImageResource(imageIds[currentIndex])
            }

            // 如果你需要第10张后点击回到第一张,替换上面的判断为下面的代码:
            // currentIndex = (currentIndex + 1) % imageIds.size
            // imageView.setImageResource(imageIds[currentIndex])
        }
    }
}

关键逻辑说明

  • imageIds数组:将所有图片资源ID按顺序存入,通过索引直接定位到目标图片。
  • currentIndex:维护当前显示图片的位置,初始值0对应第一张图。
  • 按钮点击事件:每次点击判断当前索引是否未到最后一张(索引9),如果是则更新索引并切换图片;如果需要循环切换,使用取模运算实现索引的循环更新。

内容的提问来源于stack exchange,提问作者onlyforquestions

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:57:30