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
相关产品推荐
相关产品推荐

