Android之RecyclerView实现时光轴效果示例

发布时间 - 2026-01-10 23:04:38    点击率:

做项目的过程中有个需求需要时光轴,于是网上找了部分资料 ,写了个案例,现在分享给大家。

如图:

       

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity">

  <android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:overScrollMode="never" />

</RelativeLayout>

item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:paddingLeft="8dp"
  android:paddingRight="8dp"
  android:paddingTop="8dp">
  <TextView
    android:id="@+id/item_timeline_time"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_marginRight="8dp"
    android:layout_marginTop="18dp"
    android:gravity="center_horizontal"
    android:padding="4dp"
    android:textColor="@color/colorAccent"
    android:textSize="16sp"
    android:text="2015-06-08\n09:56"
    />

  <RelativeLayout
    android:id="@+id/item_timeline_icon_layout"
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:layout_marginBottom="4dp"
    android:layout_marginRight="8dp"
    android:layout_toRightOf="@id/item_timeline_time">

    <com.timelinedemo.CircleImageView
      android:id="@+id/item_timeline_icon_bg"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:src="@android:color/transparent"
      app:civ_border_width="4dp" />

    <ImageView
      android:id="@+id/item_timeline_icon"
      android:layout_width="24dp"
      android:layout_height="24dp"
      android:layout_centerInParent="true"
      android:scaleType="fitCenter" />

  </RelativeLayout>

  <TextView
    android:id="@+id/item_timeline_content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="18dp"
    android:layout_toRightOf="@id/item_timeline_icon_layout"
    android:text="今日收入"
    android:textColor="@color/colorPrimary"
    android:textSize="15sp" />

  <TextView
    android:id="@+id/item_timeline_money"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/item_timeline_content"
    android:layout_marginTop="8dp"
    android:layout_toRightOf="@id/item_timeline_icon_layout"
    android:text="$ 100"
    android:textColor="@color/colorPrimary"
    android:textSize="22sp" />
  <View
    android:id="@+id/item_timeline_view"
    android:layout_width="2dp"
    android:layout_height="60dp"
    android:layout_alignLeft="@id/item_timeline_icon_layout"
    android:layout_below="@id/item_timeline_icon_layout"
    android:layout_marginLeft="23dp"
    android:background="@color/colorAccent" />
</RelativeLayout>

Activity.Java

public class MainActivity extends AppCompatActivity {

  private RecyclerView recyclerView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initLayout();
  }
  private void initLayout(){
    recyclerView= (RecyclerView) findViewById(R.id.recyclerView);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    recyclerView.setHasFixedSize(true);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    initData();
  }
  private void initData(){
    List<TimeInfo > list=new ArrayList<>();
    for(int i=0;i<15;i++){
      list.add(new TimeInfo());
    }
    TimelineAdapter mAdapter = new TimelineAdapter(this, list);
    recyclerView.setAdapter(mAdapter);
  }
}

添加依赖库:

compile 'com.android.support:recyclerview-v7:23.0.0'

由于代码太多,完整代码未给出,源码直接下载即可

源码点击下载:TimeLineDemo_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# android时光轴效果  # android时光轴  # Android时光轴实现淘宝物流信息浏览效果  # Android自定义View实现垂直时间轴布局  # Android控件之使用ListView实现时间轴效果  # Android自定义view仿淘宝快递物流信息时间轴  # 教你3分钟了解Android 简易时间轴的实现方法  # Android自定义时间轴的实现过程  # Android实现列表时间轴  # Android TimeLine 时间节点轴的实现实例代码  # Android实现快递物流时间轴效果  # Android自定义recyclerView实现时光轴效果  # 太多  # 有个  # 给大家  # 找了  # 写了  # 点击下载  # 如图  # 大家多多  # 过程中  # 今日  # 网上  # paddingLeft  # wrap_content  # auto  # dp  # paddingTop  # paddingRight  # TextView  # RecyclerView  # id 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何发送系统通知?(Notification渠道示例)  深圳网站制作培训,深圳哪些招聘网站比较好?  高端企业智能建站程序:SEO优化与响应式模板定制开发  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  如何破解联通资金短缺导致的基站建设难题?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  详解jQuery停止动画——stop()方法的使用  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel如何创建自定义Facades?(详细步骤)  怎么用AI帮你为初创公司进行市场定位分析?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  三星网站视频制作教程下载,三星w23网页如何全屏?  WEB开发之注册页面验证码倒计时代码的实现  Laravel如何实现API版本控制_Laravel版本化API设计方案  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  jQuery validate插件功能与用法详解  Windows Hello人脸识别突然无法使用  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  JS碰撞运动实现方法详解  高端云建站费用究竟需要多少预算?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  5种Android数据存储方式汇总  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  佛山网站制作系统,佛山企业变更地址网上办理步骤?  如何用虚拟主机快速搭建网站?详细步骤解析  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何在腾讯云服务器快速搭建个人网站?  Android自定义控件实现温度旋转按钮效果  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  如何做网站制作流程,*游戏网站怎么搭建?  如何快速上传建站程序避免常见错误?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel定时任务怎么设置_Laravel Crontab调度器配置  Firefox Developer Edition开发者版本入口  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  网站制作壁纸教程视频,电脑壁纸网站?  如何快速生成ASP一键建站模板并优化安全性?