Android物联网应用程序开发(智慧园区)—— 图片预览界面

Android物联网应用程序开发(智慧园区)—— 图片预览界面效果图:实现步骤:1、首先在build.gradle文件中引入RecycleViewimplementation’com.android.support:recyclerview-v7:28.0.0’添加完成后,在右上角有一个同步SyncNow的提示,点击进行同步构建,接下来修改activity_main.xml的代码2、在activity_main.xml布局文件中加入RecyclerView<?xmlversion=”1.0″encoding=

大家好,又见面了,我是你们的朋友全栈君。

效果图:

Android物联网应用程序开发(智慧园区)—— 图片预览界面

实现步骤:

1、首先在 build.gradle 文件中引入 RecycleView

implementation 'com.android.support:recyclerview-v7:28.0.0'

Android物联网应用程序开发(智慧园区)—— 图片预览界面

添加完成后,在右上角有一个同步Sync Now的提示,点击进行同步构建,接下来修改activity_main.xml的代码

2、在 activity_main.xml 布局文件中加入RecyclerView

<?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.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </android.support.v7.widget.RecyclerView>
</LinearLayout>

接着创建RecyclerView的列表项布局

Android物联网应用程序开发(智慧园区)—— 图片预览界面

<?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="400dp"
    android:gravity="center">

    <TextView
        android:id="@+id/time"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center" />

    <View
        android:layout_width="1dp"
        android:layout_height="fill_parent"
        android:background="#c0c0c0" />

    <ImageView
        android:id="@+id/image"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_margin="4dp"
        android:layout_weight="2"
        android:scaleType="fitCenter"
        android:src="@drawable/image1" />
</LinearLayout>

3、然后创建 RecyclerView  的数据适配器

package com.newland.project3_4;

import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

public class MonitorAdapter extends RecyclerView.Adapter<MonitorAdapter.ViewHolder> {
    private String[] times = {"2019年5月9日17时14分30秒", "2019年5月9日17时15分30秒", "2019年5月9日18时30分30秒", "2019年5月9日18时40分30秒", "2019年5月10日17时14分30秒"};
    private int[] imageIds = {R.drawable.image1,R.drawable.image2,R.drawable.image3,R.drawable.image4,R.drawable.image5};

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_item, parent, false);
        ViewHolder holder = new ViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        holder.image.setImageResource(imageIds[position]);
        holder.time.setText(times[position]);
    }

    @Override
    public int getItemCount() {
        return times.length;
    }

    static class ViewHolder extends RecyclerView.ViewHolder {
        private ImageView image;//图片
        private TextView time;//时间

        public ViewHolder(View v) {
            super(v);
            image = v.findViewById(R.id.image);
            time = v.findViewById(R.id.time);
        }
    }
}

最后设置 RecyclerView 的适配器

package com.newland.project3_4;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;

public class MainActivity extends AppCompatActivity {
    private RecyclerView recyclerView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        recyclerView = findViewById(R.id.recycler_view);
        //创建线性布局管理器,方向垂直
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
        //recyclerView设置布局管理器
        recyclerView.setLayoutManager(linearLayoutManager);
        MonitorAdapter adapter = new MonitorAdapter();
        //添加Android自带的分割线
        recyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
        //设置适配器
        recyclerView.setAdapter(adapter);
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151106.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2022年面试必问的Python面试题&答案

    2022年面试必问的Python面试题&答案Python新手在谋求一份Python编程工作前,必须熟知Python的基础知识。这里我为大家准备了一份2022年最常见Python面试题合集,既有基本的Python面试题,也有高阶版试题来指导你准备面试,试题均附有答案。面试题内容包括编码、数据结构、脚本撰写等话题。

    2025年5月28日
    2
  • softreference 回收_method verification

    softreference 回收_method verification一、softReference的作用    SoftReference的主要特点就是在当内存不够的时候,GC会回收SoftReference所引用的对象。所以,在memorysensitive的项目中将某些数据设置成SoftReference可以避免内存的溢出。1、创建一个SoftReferenceSoftReference>softReference=newSof

    2025年10月8日
    5
  • f1 score计算_F1值

    f1 score计算_F1值F1分数(F1Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种加权平均,它的最大值是1,最小值是0。1.TP、TN、FP、FN解释说明真实情况 预测结果 正例 反例 正例 TP(真正例) FN(假反例) 反例 FP(假正例) TN(真反例) 行表示预测的label值,列表示真实label值 TP:TruePositive,被判定为正样本,事实上也是

    2022年8月31日
    3
  • 局部静态变量的定义_C语言强制转换数据类型

    局部静态变量的定义_C语言强制转换数据类型C语言中定义的静态变量存放在栈区,动态分配的内存空间位于堆区。这题答案为F为大家科普一下知识C语言中局部变量存在栈里,全局变量存静态存储区。局部变量在栈空间上分配,这个局部变量所在的函数被多次调用时,每次调用这个局部变量在栈上的位置都不一定相同。局部变量也可以在堆上动态分配,但是记得使用完这个堆空间后要释放之。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。在程序执行过程中它们占据固定的存储单元,而不动态地进行分配和释放;…

    2025年6月21日
    3
  • 基于注解的Spring MVC整合Hibernate(所需jar包,spring和Hibernate整合配置,springMVC配置,重定向,批量删除)

    基于注解的Spring MVC整合Hibernate(所需jar包,spring和Hibernate整合配置,springMVC配置,重定向,批量删除)

    2022年2月3日
    44
  • idea 2022.01 激活码-激活码分享2022.02.28

    (idea 2022.01 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~40ZKSWCX8G-eyJsaWNlb…

    2022年4月1日
    458

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号