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

Android Studio(Kotlin):按钮点击后显示网络图片的实现方法

实现按钮点击加载网络图片的步骤

1. 编写布局文件

在你的布局XML(比如activity_main.xml)里,添加按钮和用来显示图片的ImageView,把ImageView放在按钮下方:

<?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:padding="16dp">

    <!-- 触发加载的按钮 -->
    <Button
        android:id="@+id/loadImageBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="加载图片"/>

    <!-- 用来显示图片的容器,初始隐藏 -->
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:visibility="gone"/>

</LinearLayout>

2. 添加必要权限和配置

打开AndroidManifest.xml,添加网络访问权限:

<uses-permission android:name="android.permission.INTERNET"/>

如果你的图片链接是HTTP协议(非HTTPS),需要在<application>标签里允许明文网络请求:

<application
    ...
    android:usesCleartextTraffic="true">
    ...
</application>

3. 引入图片加载库(Glide)

新手不用自己写复杂的网络请求,用成熟的第三方库更省心。打开模块级build.gradle(注意是Module层级的,不是Project的),在dependencies里添加Glide依赖:

dependencies {
    // 其他已有的依赖...
    implementation 'com.github.bumptech.glide:glide:4.16.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'
}

同步Gradle让依赖生效。

4. 编写Kotlin逻辑代码

方式一:用ViewBinding(推荐,更简洁)

先开启ViewBinding:打开模块级build.gradle,在android块里添加:

android {
    // 其他配置...
    buildFeatures {
        viewBinding true
    }
}

然后在Activity里编写逻辑:

import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.bumptech.glide.Glide
import com.yourpackage.databinding.ActivityMainBinding // 替换成你的实际包名

class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        // 设置按钮点击事件
        binding.loadImageBtn.setOnClickListener {
            val imageUrl = "https://你的图片链接地址" // 替换成实际图片URL
            // 显示图片容器
            binding.imageView.visibility = View.VISIBLE
            // 用Glide加载图片
            Glide.with(this)
                .load(imageUrl)
                .into(binding.imageView)
        }
    }
}

方式二:用findViewById(快速上手)

如果暂时不想用ViewBinding,也可以用传统方式:

import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import com.bumptech.glide.Glide

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

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

        loadBtn.setOnClickListener {
            val imageUrl = "https://你的图片链接地址"
            imageView.visibility = View.VISIBLE
            Glide.with(this)
                .load(imageUrl)
                .into(imageView)
        }
    }
}

点击按钮后,ImageView就会显示并加载指定的网络图片了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:55:20