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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java FileInputStream默认编码方式

    Java FileInputStream默认编码方式使用如下代码测试:InputStreamis=newFileInputStream(newFile(“C:\\Users\\Administrator\\Desktop\\test1.txt”));    byte[]bs=newbyte[4096];    intlen=is.read(bs);    System.out.pri

    2022年5月6日
    108
  • vector subscript out of range数组下标越界错误「建议收藏」

    vector subscript out of range数组下标越界错误「建议收藏」在使用vector二维数组时,产生vectorsubscriptoutofrange错误,检查之后并没有发现数组下标越界问题,百度了一下,发现原来是数组并没有初始化赋值,没有分配空间,所以不能采用下标的方式进行访问。解决方法有两个,一个是初始化数组的时候为其分配空间,其值全部赋值为0。vector<vector<int>>myvec(n,vector<int>(n,0));另一个就是使用vector.push_back添加元素,不使用下

    2022年9月27日
    0
  • Fluent UDF【1】:简介

    Fluent UDF【1】:简介前面基本完成了动网格专题的发布,不过还是有一些内容并没有更新进去,比如说incylinder、接触检测、2.5D网格重构等。不过这些都是小技巧,写起来挺麻烦,以后有时间再通过案例视频的方式讲解好了。

    2022年7月2日
    28
  • 能与PowerDesigner媲美的数据库建模工具PDMan[通俗易懂]

    软件生存周期分为:1、可行性分析与项目开发计划2、需求分析3、概要设计4、详细设计5、编码6、测试7、维护而数据库建模工作就发生在“编码”之前,“概要设计”与“详细设计”中。在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模。当然,一款实用、便利的工具,会使我们的工作效率大大提高,今天我们就来介绍一款能与PowerD…

    2022年4月8日
    247
  • Eclipse中使用SVN Eclipse配置SVN[通俗易懂]

    Eclipse中使用SVN Eclipse配置SVN[通俗易懂]Eclipse集成SVN文章目录Eclipse集成SVN一、安装SVN二、导入Eclipse中的项目到SVN三、检出Checkout项目到Eclipse中四、提交Commit修改后的内容到服务器五、在Eclipse中执行update更新代码六、在Eclipse中解决冲突七、在Eclipse中恢复历史版本一、安装SVN二、导入Eclipse中的项目到SVN三、检出Checkout项目到Eclipse中四、提交Commit修改后的内容到服务器五、在Ec

    2022年9月26日
    0
  • zabbix监控哪些指标_zabbix监控爱快

    zabbix监控哪些指标_zabbix监控爱快前言面试中经常会被问到一些技术问题,面试官一方面是看你对于当前技术的点的掌握情况,另一方面是判断你是否在公司里干过,毕竟很多技术只要自学一下就能应付面试。今天我们来聊聊,面试中那些高频的问题,比如zabbix你都监控哪些参数。一.原理解释说到监控,在运维这个行业其实有很多开源的监控方案,目前最常见的就是zabbix+grafana,我工作那时候还是用cacti和nagios的比较多。还记得以前去面试,面试官来了一句,zabbix会搭建吗,会的话你在这搭建下,30分钟搭建出来就入职。不管

    2022年10月22日
    0

发表回复

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

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