效果图:

实现步骤:

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

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

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

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

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical">
  6. <android.support.v7.widget.RecyclerView
  7. android:id="@+id/recycler_view"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent">
  10. </android.support.v7.widget.RecyclerView>
  11. </LinearLayout>

接着创建RecyclerView的列表项布局

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="400dp"
  5. android:gravity="center">
  6. <TextView
  7. android:id="@+id/time"
  8. android:layout_width="0dp"
  9. android:layout_height="wrap_content"
  10. android:layout_weight="1"
  11. android:gravity="center" />
  12. <View
  13. android:layout_width="1dp"
  14. android:layout_height="fill_parent"
  15. android:background="#c0c0c0" />
  16. <ImageView
  17. android:id="@+id/image"
  18. android:layout_width="0dp"
  19. android:layout_height="match_parent"
  20. android:layout_margin="4dp"
  21. android:layout_weight="2"
  22. android:scaleType="fitCenter"
  23. android:src="@drawable/image1" />
  24. </LinearLayout>

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

  1. package com.newland.project3_4;
  2. import android.support.annotation.NonNull;
  3. import android.support.v7.widget.RecyclerView;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.ImageView;
  8. import android.widget.TextView;
  9. public class MonitorAdapter extends RecyclerView.Adapter<MonitorAdapter.ViewHolder> {
  10. 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秒"};
  11. private int[] imageIds = {R.drawable.image1,R.drawable.image2,R.drawable.image3,R.drawable.image4,R.drawable.image5};
  12. @NonNull
  13. @Override
  14. public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  15. View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_item, parent, false);
  16. ViewHolder holder = new ViewHolder(view);
  17. return holder;
  18. }
  19. @Override
  20. public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
  21. holder.image.setImageResource(imageIds[position]);
  22. holder.time.setText(times[position]);
  23. }
  24. @Override
  25. public int getItemCount() {
  26. return times.length;
  27. }
  28. static class ViewHolder extends RecyclerView.ViewHolder {
  29. private ImageView image;//图片
  30. private TextView time;//时间
  31. public ViewHolder(View v) {
  32. super(v);
  33. image = v.findViewById(R.id.image);
  34. time = v.findViewById(R.id.time);
  35. }
  36. }
  37. }

最后设置 RecyclerView 的适配器

  1. package com.newland.project3_4;
  2. import android.support.v7.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.support.v7.widget.DividerItemDecoration;
  5. import android.support.v7.widget.LinearLayoutManager;
  6. import android.support.v7.widget.RecyclerView;
  7. public class MainActivity extends AppCompatActivity {
  8. private RecyclerView recyclerView;
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. recyclerView = findViewById(R.id.recycler_view);
  14. //创建线性布局管理器,方向垂直
  15. LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
  16. //recyclerView设置布局管理器
  17. recyclerView.setLayoutManager(linearLayoutManager);
  18. MonitorAdapter adapter = new MonitorAdapter();
  19. //添加Android自带的分割线
  20. recyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
  21. //设置适配器
  22. recyclerView.setAdapter(adapter);
  23. }
  24. }

Android物联网应用程序开发(智慧园区)—— 图片预览界面的更多相关文章

  1. (干货)微信小程序之上传图片和图片预览

    这几天一直负责做微信小程序这一块,也可以说是边做边学习吧,把自己做的微信小程序的一些功能分享出来,与大家探讨一下,相互学习相互进步. 先看下效果图 只写了一下效果样式的话希望大家不要太在意,下面马路杀 ...

  2. 微信小程序之上传图片和图片预览

    这几天一直负责做微信小程序这一块,也可以说是边做边学习吧,把自己做的微信小程序的一些功能分享出来,与大家探讨一下,相互学习相互进步. 先看下效果图 只写了一下效果样式的话希望大家不要太在意,下面马路杀 ...

  3. 微信小程序开发之真机预览

    1:真机预览时上传组件的坑: 当在真机里面使用上传组件,当进入选择相片或者拍照的时候,小程序会进入后台,调用APP onHide()方法,选择完返回小程序是会调用App Onshow()方法,然后调用 ...

  4. Android物联网应用程序开发(智慧园区)—— 设置传感器阈值对话框界面

    效果图: 自定义对话框布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...

  5. Android物联网应用程序开发(智慧园区)—— 园区监控系统界面

    效果图: 布局代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...

  6. Android物联网应用程序开发(智慧园区)—— 登录界面开发

    效果: 布局代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  7. Android物联网应用程序开发(智慧城市)—— 摄像头监控界面开发

    效果: 布局代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns: ...

  8. Android物联网应用程序开发(智慧城市)—— 查询购物信息界面开发

    效果: 布局代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xm ...

  9. Android物联网应用程序开发(智慧城市)—— 用户注册界面开发

    效果: 布局代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns: ...

随机推荐

  1. 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(七)-准备移植FatFs

    [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(二)-了解SD总线,命令的相关介绍 [STM3 ...

  2. Linux基础命令---enable开启shell命令

    enable enable指令用来关闭或者激活shell内部命令.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora. 1.语法       enable [-a]   ...

  3. Linux学习 - 挂载命令

    一.mount 1 功能 将外设手工挂载到目标挂载点 2 语法 mount  [-t 文件系统]  [设备文件名]  [挂载点] 3 范例 mkdir  /mnt/cdrom 在/mnt下创建一个cd ...

  4. MyBatis(1):实现MyBatis程序

    一,MyBatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  5. SpringMVC(3):AJAX

    一,AJAX 简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML) AJAX 不是新的编程语言,而是一种使用现有标准的新方法 ...

  6. 【Linux】【Database】【MySQL】使用percona搭建高可用的MySQL数据库

    1. 简介 1.1. 官方文档: 数据库架构:https://docs.openstack.org/ha-guide/shared-database.html 1.2. 本次使用的的是Percona ...

  7. Zookeeper客户端链接

    一.zkCli.sh ./zkCli.sh -server 39.97.176.160:2182 39.97.176.160 : zookeeper服务器Ip 2182:zookeeper端口 二.Z ...

  8. maven管理本地jar包

    maven作为包管理工具,好处不必多说.但是有些情况,比如需要引入第三方包,如快递鸟,支付宝,微信等jar包(当然有可能直接提供maven依赖),如果直接下载到本地之后,怎么整合到自己的maven工程 ...

  9. pipeline when指令

    目录 一.简介 二.选项 单独判断 条件组合 一.简介 when指令允许pipeline根据给定的条件,决定是否执行阶段内的步骤.when指令必须至少包含一个条件.when指令除了支持branch判断 ...

  10. [BUUCTF]PWN——jarvisoj_fm

    jarvisoj_fm 附件 步骤: 例行检查,32位,开启了canary和nx保护 运行一下程序,看看大概的情况 32位ida载入,shift+f12检索程序里的字符串,看见了 " /bi ...