android定时器循环实现轮播图

说明:
android定时器加for循环实现轮播图
效果:
在这里插入图片描述

step1:

package com.example.iosdialogdemo;



import android.os.Bundle;
import android.os.Handler;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import java.util.Arrays;

public class MainActivity extends AppCompatActivity {
    private final int Time = 1000;    //时间间隔,   单位 ms
    private Handler handler = new Handler();
    private int num = 0;      //用来观测重复执行
    private int img[] = {1, 2, 3, 4, 5, 6, 7};
    private String imgString[] = {"12345", "23456", "34567", "45671", "56712", "67123", "71234"};
    private String nameString[] = {"刘备", "关羽", "张飞", "诸葛亮", "袁绍", "曹操", "孙权"};
    private int mips[] = {R.mipmap.liubei, R.mipmap.guanyu, R.mipmap.zhangfei, R.mipmap.zhuge, R.mipmap.yuan, R.mipmap.caocao, R.mipmap.sun};


    private TextView tv_img0, tv_img1, tv_img2, tv_img3, tv_img4;
    private int[] tvIds = {R.id.tv_img0, R.id.tv_img1, R.id.tv_img2, R.id.tv_img3, R.id.tv_img4};
    private TextView[] tvGroups = {tv_img0, tv_img1, tv_img2, tv_img3, tv_img4};

    private ImageView iv_img0, iv_img1, iv_img2, iv_img3, iv_img4;
    private int[] ivIds = {R.id.iv_img0, R.id.iv_img1, R.id.iv_img2, R.id.iv_img3, R.id.iv_img4};
    private ImageView[] ivGroups = {iv_img0, iv_img1, iv_img2, iv_img3, iv_img4};

    private int[] ages = {0, 1, 2, 3, 4};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        for (int i = 0; i < tvIds.length; i++) {
            tvGroups[i] = findViewById(tvIds[i]);
            ivGroups[i] = findViewById(ivIds[i]);
            tvGroups[i].setText(nameString[i]);
            ivGroups[i].setImageResource(mips[i]);
        }


        System.out.println(Arrays.toString(img));
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                handler.postDelayed(this, Time);
                //每隔一段时间要重复执行的代码
                System.out.println("第次执行");
                num++;
                int age = num % 7;
                int sex = num % 5;
                System.out.println(age);
                System.out.println(nameString[age]);
                tvGroups[sex].setText(String.valueOf(nameString[age]));
                ivGroups[sex].setImageResource(mips[age]);
            }
        }, Time);
    }
}

step2:

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        <TextView
            android:id="@+id/tv_img0"
            android:layout_width="130dp"
            android:layout_height="70dp"
            android:textSize="30sp"
            />

        <TextView
            android:id="@+id/tv_img1"
            android:layout_width="130dp"
            android:layout_height="70dp"
            android:textSize="30sp"
            android:gravity="center"
            />
        <TextView
            android:id="@+id/tv_img2"
            android:layout_width="100dp"
            android:layout_height="70dp"
            android:gravity="center"
            android:textSize="30sp"
            />
        <TextView
            android:id="@+id/tv_img3"
            android:gravity="center"
            android:layout_width="130dp"
            android:layout_height="70dp"
            android:textSize="30sp"
            />
        <TextView
            android:id="@+id/tv_img4"
            android:layout_width="130dp"
            android:gravity="center"
            android:layout_height="70dp"
            android:textSize="30sp"
            />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >

        <ImageView
            android:id="@+id/iv_img0"
            android:layout_width="130dp"
            android:layout_height="70dp"
            android:scaleType="fitStart"
            />

        <ImageView
            android:id="@+id/iv_img1"
            android:layout_width="130dp"
            android:layout_height="70dp"
            android:scaleType="fitStart"
            />

        <ImageView
            android:id="@+id/iv_img2"
            android:layout_width="130dp"
            android:layout_height="70dp"
            android:scaleType="fitStart"
            />
        <ImageView
            android:id="@+id/iv_img3"
            android:layout_width="130dp"
            android:layout_height="70dp"
            android:scaleType="fitStart"
            />
        <ImageView
            android:id="@+id/iv_img4"
            android:layout_width="130dp"
            android:layout_height="70dp"
            android:scaleType="fitStart"
            />

    </LinearLayout>

</LinearLayout>

end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/906514.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Node.js+Vue+MySQL实现的(Web)图书管理系统

1 需求分析 本图书管理系统主要实现对图书馆的管理&#xff1a;图书、读者、管理员、借阅。由此&#xff0c;结构可分为&#xff1a;图书管理、读者管理、管理员管理、借还管理、罚单管理、还书信息。 1.1 需求定义 1.1.1 图书管理 可对图书信息进行浏览、编辑&#xff08;…

计算机网络803-(5)运输层

目录 一.运输层的两个主要协议&#xff1a;TCP 与 UDP 1.TCP/IP 的运输层有两个不同的协议&#xff1a; 2.端口号(protocol port number) &#xff08;1&#xff09;软件端口与硬件端口 &#xff08;2&#xff09;TCP 的端口 &#xff08;3&#xff09;三类端口 二.用户…

机器学习之fetch_olivetti_faces人脸识别--基于Python实现

fetch_olivetti_faces 数据集下载 fetch_olivetti_faceshttps://github.com/jikechao/olivettifaces sklearn.datasets.fetch_olivetti_faces(*, data_homeNone, shuffleFalse, random_state0, download_if_missingTrue, return_X_yFalse, n_retries3, delay1.0)[source] L…

嵌入式硬件电子电路设计(三)电源电路之负电源

引言&#xff1a;在对信号线性度放大要求非常高的应用需要使用双电源运放&#xff0c;比如高精度测量仪器、仪表等;那么就需要给双电源运放提供正负电源。 目录 负电源电路原理 负电源的作用 如何产生负电源 负电源能作功吗&#xff1f; 地的理解 负电压产生电路 BUCK电…

【SpringMVC】传递json,获取url参数,上传文件

【传递json数据】 【json概念】 一种轻量级数据交互格式&#xff0c;有自己的格式和语法&#xff0c;使用文本表示一个对象或数组的信息&#xff0c;其本质上是字符串&#xff0c;负责在不同的语言中数据传递与交换 json数据以字符串的形式体现 【json字符串与Java对象互转…

web3.0 开发实践

优质博文&#xff1a;IT-BLOG-CN 一、简介 Web3.0也称为去中心化网络&#xff0c;是对互联网未来演进的一种概念性描述。它代表着对现有互联网的下一代版本的设想和期望。Web3.0的目标是通过整合区块链技术、分布式系统和加密技术等新兴技术&#xff0c;构建一个更加去中心化…

10.31.2024刷华为OD C题型

文章目录 HJ26HJ27语法知识记录 10.24.2024刷华为OD C题型&#xff08;四) - HJ26 HJ27 def get_dict(str1: str):dic_0 {}for ch in str1:if ch not in dic_0:dic_0[ch] 1else:dic_0[ch] 1return dic_0temp input().split() n int(temp[0]) list [] for i in range(n):l…

客户服务数据分析:洞察客户需求,优化服务策略

在数字经济时代&#xff0c;数据已成为企业决策的重要依据。特别是在客户服务领域&#xff0c;通过深度挖掘和分析客户服务数据&#xff0c;企业能够更精准地洞察客户需求&#xff0c;优化服务策略&#xff0c;从而提升客户满意度和忠诚度&#xff0c;增强市场竞争力。 一、客户…

【SQL】 Navicate 17 连接sql server

一直连接不上&#xff0c;找了好多博客&#xff0c;最后发现是端口号的字符串有问题 [08001] [Microsoft][ODBC Driver 17 for SQL Server]SQL Server Network Interfaces: Connection string is not valid [87]. (87) [HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Lo…

低至599元的N100办公神器,节能静音还双网口,區克MAX N迷你主机深度拆解与评测

低至599元的N100办公神器&#xff0c;节能静音还双网口&#xff0c;區克MAX N迷你主机深度拆解与评测 哈喽小伙伴们好&#xff0c;我是Stark-C~ 最近有小伙伴找到我想我咨询&#xff0c;想要一个日常使用&#xff0c;主打办公&#xff0c;闲暇之余刷刷视频看看剧的小主机&…

CSS--导航栏案例

利用CSS制作北大官网导航栏 详细代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}#menu{background-color: darkred;width: 100%;height: 50px…

详细分析Pytorch中的transpose基本知识(附Demo)| 对比 permute

目录 前言1. 基本知识2. Demo 前言 原先的permute推荐阅读&#xff1a;详细分析Pytorch中的permute基本知识&#xff08;附Demo&#xff09; 1. 基本知识 transpose 是 PyTorch 中用于交换张量维度的函数&#xff0c;特别是用于二维张量&#xff08;矩阵&#xff09;的转置操…

2024年11月1日Day2第一部分(最详细简单有趣味的介绍2

1.CRC编解码练习 要计算CRC&#xff08;循环冗余校验&#xff09;码并验证及纠正接收到的数据&#xff0c;我们需要按照以下步骤进行&#xff1a; 步骤 1: 计算CRC校验码 信息字段代码: x1001生成多项式: G(x)x3x21&#xff0c;即 G(x)1101&#xff08;注意&#xff1a;这里…

【Kaggle | Pandas】练习5:数据类型和缺失值

文章目录 1. 获取列数据类型.dtype / .dypes2. 转换数据类型.astype()3. 获取数据为空的列 .isnull()4. 将缺少值替换并且排序.fillna()&#xff0c;.sort_values() 1. 获取列数据类型.dtype / .dypes 数据集中points列的数据类型是什么&#xff1f; # Your code here dtype …

使用Docker Swarm进行集群管理

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用Docker Swarm进行集群管理 Docker Swarm简介 安装Docker 在Ubuntu上安装Docker 在CentOS上安装Docker 初始化Docker Swarm …

前端获取csv或者excel 静态数据并使用

这里我将空格全部替换成了 || 好让我变成数组&#xff0c;从而拿到每一条数据中的第一项&#xff0c;相当于excel或者csv文件的第一列的东西 axios.get("/csv/zhongxiang").then((res) > {let rows res.data.split("\n");for (let row of rows) {let c…

JavaWeb——Web入门(3/9)-HTTP协议:概述(概念、特点,HTTP协议定义,基于 TCP 协议,基于请求-响应模型)

目录 概念 特点 内容预告 概念 HTTP 协议定义&#xff1a;全称 Hyper Text Transfer Protocol&#xff0c;即超文本传输协议&#xff0c;规定了浏览器与服务器之间数据传输的规则&#xff0c;具体指客户端浏览器与服务器之间进行数据交互的数据格式。 在互联网的世界中&…

导致线上项目宕机的原因和排查手段

目录 导致线上项目宕机的原因cpu过载cpu过载怎么排查?内存溢出内存溢出怎么排查?磁盘空间不足磁盘空间不足怎么排查?网络问题网络问题怎么排查?垃圾回收(GC)问题垃圾回收(GC)问题怎么排查JVM参数配置不当JVM参数配置不当怎么排查?JVM内部错误JVM内部错误怎么排查?线程…

strace 调试追踪案例:对程序打开文件进行追踪

声明 本文版权属于笔者朋友 YangHui &#xff0c;所有资料内容均由 YangHui 提供&#xff0c;笔者只是一个转述者。 文章目录 声明1. 前言2. 问题的发生、跟踪、解决3. 小结 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#x…

(九)JavaWeb后端开发3——Servlet

目录 1.Servlet由来 2.Servlet快速入门 3.Servlet执行原理 4.Servlet生命周期 1.Servlet由来 在JaveEE API文档中对Servlet的描述是&#xff1a;可以运行在服务器端的微小程序&#xff0c;但是实际上&#xff0c;Servlet就是一个接口&#xff0c;定义了Java类被浏览器访问…