教你3分钟了解Android 简易时间轴的实现方法
作者:MiHomes 发布时间:2023-04-02 20:56:19
标签:Android,时间轴
一.有段时间没更了,因为一直在思索,应该写点什么,真的是无比纠结。这一回,就给大家分享一款简便好用的,小编自制的土晾时间轴。
附上XML预览图:
效果图 注:小黄鸭不是效果哈,是为了保护个人隐私P上去的:
1.新建一个自定义控件:
public class WorkExcView extends LinearLayout {
private TextView dataLeft;
private TextView dataRight;
private TextView company;
private TextView job;
private TextView jobAsses;
private TextView xiTong;
private TextView ziTian;
private LinearLayout jobContentContainer;
private TextView jobContent;
private LinearLayout commentContainer;
private LinearLayout nianContentContainer;
private TextView nianContent;
private LinearLayout base;
private LinearLayout yueXingContainer;
private TextView yueContent;
private LinearLayout nianXingContainer;
private TextView yueMoreContent;
private TextView nianMoreContent;
private String company_id;
public WorkExcView(Context context) {
this(context,null);
}
public WorkExcView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
View inflate = View.inflate(getContext(), R.layout.activity_four_workexcview, this);
dataLeft = (TextView) inflate.findViewById(R.id.workexcview_data_left);
dataRight= (TextView) inflate.findViewById(R.id.workexcview_data_right);
company = (TextView) inflate.findViewById(R.id.workexcview_company);
job = (TextView) inflate.findViewById(R.id.workexcview_job);
jobAsses = (TextView) inflate.findViewById(R.id.workexcview__job_asses);
xiTong = (TextView) inflate.findViewById(R.id.workexcview_xitong);
ziTian = (TextView) inflate.findViewById(R.id.workexcview_zitian);
jobContent = (TextView) inflate.findViewById(R.id.workexcview_jobcontent);
nianContent = (TextView) inflate.findViewById(R.id.workexcview_niancontent);
jobContentContainer = (LinearLayout)inflate.findViewById(R.id.workexcview_jobcontent_container);
commentContainer = (LinearLayout)inflate.findViewById(R.id.workexcview__comment_container);
nianContentContainer= (LinearLayout)inflate.findViewById(R.id.workexcview__niancontent_container);
base = (LinearLayout)inflate.findViewById(R.id.workexcview__base);
yueXingContainer = (LinearLayout)inflate.findViewById(R.id.workexcview_yuexing_container);
yueContent = (TextView)inflate.findViewById(R.id.workexcview_yuecontent);
nianXingContainer = (LinearLayout)inflate.findViewById(R.id.workexcview_nianxing_container);
yueMoreContent = (TextView)inflate.findViewById(R.id.workexcview_yuecontentmore);
nianMoreContent = (TextView)inflate.findViewById(R.id.workexcview_niancontentmore);
}
public void initData(final FourBean.JobsBean jobsBean) {
//赋值代码
}
XML文件:
<?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:id="@+id/workexcview__base"
android:paddingLeft="8dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/workexcview_landian"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_centerVertical="true"
android:src="@mipmap/landian" />
<TextView
android:id="@+id/workexcview_data_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="3dp"
android:layout_toRightOf="@+id/workexcview_landian"
android:text="2016.03"
android:textColor="@color/text"
android:textSize="15sp" />
<TextView
android:id="@+id/workexcview__data_zhong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/workexcview_data_left"
android:text=" —— "
android:textColor="@color/text" />
<TextView
android:id="@+id/workexcview_data_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/workexcview__data_zhong"
android:text="2016.03"
android:textColor="@color/text"
android:textSize="15sp" />
<TextView
android:id="@+id/workexcview_zitian"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/four_select"
android:padding="4dp"
android:paddingRight="6dp"
android:text="自填"
android:textColor="@color/red"
android:textSize="12sp"
android:visibility="gone" />
<!-- <ImageView
android:id="@+id/workexcview_xitong"
android:layout_width="40dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:paddingRight="10dp"
android:src="@mipmap/xitong"
android:visibility="gone" />-->
<TextView
android:id="@+id/workexcview_xitong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/textview_shape"
android:padding="4dp"
android:paddingRight="6dp"
android:text="系统"
android:textColor="@color/holo_blue_light"
android:textSize="12sp"
android:visibility="gone" />
<RelativeLayout
android:id="@+id/four_setting_workexc_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:visibility="gone">
<TextView
android:id="@+id/four_setting_workexc_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="编辑"
android:textColor="@android:color/holo_blue_light"
android:textSize="16sp" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/four_setting_workexc_logo"
android:src="@drawable/xierijidianji3x" />
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<TextView
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_marginLeft="7dp"
android:background="@color/black" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<TextView
android:id="@+id/workexcview_company"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="某某公司"
android:textColor="@color/text"
android:textSize="14sp" />
<TextView
android:id="@+id/workexcview_company_zhong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/workexcview_company"
android:text=" / "
android:textColor="@color/text"
android:textSize="14sp" />
<TextView
android:id="@+id/workexcview_job"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/workexcview_company_zhong"
android:text="web前段工程师"
android:textColor="@color/text"
android:textSize="14sp" />
</RelativeLayout>
<LinearLayout
android:id="@+id/workexcview_jobcontent_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:orientation="vertical"
android:padding="8dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="工作描述:"
android:textColor="@color/text" />
<TextView
android:id="@+id/workexcview_jobcontent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="巴拉巴拉" />
</LinearLayout>
<LinearLayout
android:id="@+id/workexcview__yuecontent_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:orientation="vertical"
android:padding="8dp"
android:visibility="visible">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/workexcview_yuecontent_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="最新月评价:"
android:textColor="@color/text" />
<LinearLayout
android:layout_centerVertical="true"
android:id="@+id/workexcview_yuexing_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_toRightOf="@+id/workexcview_yuecontent_logo"
>
</LinearLayout>
<TextView
android:layout_alignParentRight="true"
android:id="@+id/workexcview_yuecontentmore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:gravity="center"
android:padding="2dp"
android:layout_centerVertical="true"
android:background="@drawable/textview_shape"
android:text="更多"
android:textColor="@color/blue_title" />
</RelativeLayout>
<TextView
android:id="@+id/workexcview_yuecontent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="无"
android:textColor="@color/gray" />
</LinearLayout>
<LinearLayout
android:id="@+id/workexcview__niancontent_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:orientation="vertical"
android:padding="8dp"
android:visibility="visible">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/workexcview_niancontent_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="最新年评价:"
android:textColor="@color/text" />
<LinearLayout
android:layout_centerVertical="true"
android:id="@+id/workexcview_nianxing_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_toRightOf="@id/workexcview_niancontent_logo"
>
</LinearLayout>
<TextView
android:id="@+id/workexcview_niancontentmore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:padding="2dp"
android:layout_centerVertical="true"
android:background="@drawable/textview_shape"
android:text="更多"
android:layout_alignParentRight="true"
android:textColor="@color/blue_title" />
</RelativeLayout>
<TextView
android:id="@+id/workexcview_niancontent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="无"
android:textColor="@color/gray" />
</LinearLayout>
<LinearLayout
android:id="@+id/workexcview__comment_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:orientation="vertical"
android:padding="8dp"
android:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="离职评价:"
android:textColor="@color/text" />
<TextView
android:id="@+id/workexcview__job_asses"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text=""
android:textColor="@color/gray" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
2.使用方式:其实很简单,直接for循环new出来赋值就行啦,因为本身就是一个自定义控件~
fourWorkexcContainer.removeAllViews();
for (int i = 0; i < jobs.size(); i++) {
FourBean.JobsBean jobsBean = jobs.get(i);
WorkExcView workExcView = new WorkExcView(getContext());
workExcView.initData(jobsBean);
fourWorkexcContainer.addView(workExcView);
}
3.适合自己的才是最好的,大家可以根据自己的情况进行修改,也可以查阅更多的资料,以上只是一种实现的方式,随手分享。
来源:http://www.jianshu.com/p/a66ba20e1df5?utm_source=tuicool&utm_medium=referral


猜你喜欢
- 简介lombok是一个编译级别的插件,它可以在项目编译的时候生成一些代码。比如日常开发过程中需要生产大量的JavaBean文件,每个Java
- 本文实例为大家分享了java金额数字转中文工具类的具体代码,供大家参考,具体内容如下java金额数字转中文工具类ConvertNum.jav
- 一、简介  本文今天主要是讲Redis中对过期key的监听,可能很多小伙伴不会,或者使用会出现一些不可思
- 前言项目中有使用到水印效果,如下图所示。在实现过程中,最终选用ItemDecoration来实现,其中有两大步骤:自定义Drawable来完
- 先给大家展示下效果图吧直接上代码:xml的布局:<Button android:id="@+id/btn_jp"
- Android的一个核心特性就是一个应用程序可作为其他应用程序中的元素,可为其他应用程序提供数据。例如,如果程序需要用某些控件来加载一些图片
- SimpleDateFormat进行日期格式化1.为啥要用SimpleDateFormat众所周知,Java中的日期类是Date,然后日期默
- javax.persistence中@Column定义字段类型在@Column中有个比较强大的配置 columnDefinition,如果有
- 先建个钉钉群,并加好机器人此时,机器人已经添加完毕,接下来编写我们连接机器人小哥的代码import com.alibaba.fastjson
- //路径, 添加开机启动/删除开机启动 public s
- SpringMVC中事务是否可以加在Controller层一般而言,事务都是加在Service层的,但是爱钻牛角尖的我时常想:事务加在Con
- 本文实例讲述了Android实现的数字格式化用法。分享给大家供大家参考,具体如下:package formatnumber;import j
- 一.方法的基本使用1.什么是方法方法是一个代码片段,类似于C语言中的函数2.方法基本语法基本语法 // 方法定义
- 1.什么是线程安全性当多个线程访问某个类时,不管运行时环境采用何种调用方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或
- 重复参数 Scala在定义函数时允许指定最后一个参数可以重复(变长参数),从而允许函数调用者使用变长参数列表来调用该函数,Scala中使用“
- 昨天,我试着在屏幕切换时,使View显示在不同的位置,在网上搜索了一些资料,自己做了一段时间,终于完成了功能。由于屏幕切换会调用activi
- 在Mybatis的动态SQL和${}形式的参数中都用到了OGNL表达式。Mybatis常用的OGNL表达式如下1、e1 or e2:或<
- https://www.jb51.net/article/191716.htm 此篇博文对flyway讲解的很清楚了,我在这只是稍
- 大家好哇,又是我,梦辛工作室的灵,今天来给大家讲解下如何实现 安卓的侧边弹窗,先大概讲下基本原理吧,其实很简单,就是一个进出动效,用 位移
- 在调用一些简单的方法实现一系列的动作时,回退的问题比较重要。作为一款用户体验良好的产品而言,有回退功能将显得比较人性化,想想如果我们常用的w