当前位置:网站首页>glide set gif start stop
glide set gif start stop
2022-08-03 19:34:00 【勘察加熊人】
一张gif图片,控制播放和暂停,用了一个取巧的办法实现的,使用glide和selector.xml文件实现
step1: D:\workspace\MyApplication26\app\build.gradle
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
step2:
package com.example.ali.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.ImageView
import com.bumptech.glide.Glide
class MainActivity : AppCompatActivity() {
private lateinit var btn_start: Button
private lateinit var btn_stop: Button
private lateinit var iv_rc_home: ImageView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn_stop = findViewById(R.id.btn_stop)
btn_start = findViewById(R.id.btn_start)
iv_rc_home = findViewById(R.id.iv_rc_home)
btn_start.setOnClickListener {
Glide.with(this).load(R.drawable.fan_five.gif).into(iv_rc_home);
}
btn_stop.setOnClickListener {
Glide.with(this).load(R.drawable.home_select_fan.xml).into(iv_rc_home);
}
}
}
step3: home_select_fan.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/fan_five.gif" />
</selector>
step4:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".MainActivity">
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" />
<Button android:id="@+id/btn_start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始播放" />
<Button android:id="@+id/btn_stop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="停止" />
<ImageView android:id="@+id/iv_rc_home" android:layout_width="335dp" android:layout_height="252dp" android:src="@mipmap/ic_launcher" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
end
边栏推荐
猜你喜欢
基于DMS的数仓智能运维服务,知多少?
FreeRTOS中级篇
揭秘5名运维如何轻松管理数亿级流量系统
手把手教你定位线上MySQL慢查询问题,包教包会
The ecological environmental protection management system based on mobile GIS
花 30 美金请 AI 画家弄了个 logo,网友:画得非常好,下次别画了!
Kettle 读取 Excel 数据输出到 Oracle 详解
国产虚拟化云宏CNware WinStack安装体验-5 开启集群HA
JS 内置构造函数 扩展 prototype 继承 借用构造函数 组合式 原型式creat 寄生式 寄生组合式 call apply instanceof
MYSQL误删数据恢复
随机推荐
基于移动GIS的环保生态管理系统
阿洛的反思
数据驱动的软件智能化开发| ChinaOSC
LeetCode 622. Designing Circular Queues
Postgresql-xl全局快照与GTM代码走读(支线)
net-snmp私有mib动态加载到snmpd
ScrollView嵌套RV,滑动有阻力不顺滑怎么办?
简易电子琴设计(c语言)
OneNote 教程,如何在 OneNote 中设置页面格式?
力扣刷题之有效的正方形(每日一题7/29)
【统计机器学习】线性回归模型
红日安全内网渗透靶场-VulnStack-1
G6尝试 学习
ECCV2022 | 用于视频问题回答的视频图Transformer
ctfshow php特性
MVC vs MVP
阿里二面:多线程间的通信方式有几种?举例说明
The addition and subtraction of the score of the force deduction brush question (a daily question 7/27)
Postgresql source code (65) analysis of the working principle of the new snapshot system Globalvis
Introduction to Cosine Distance