教你3分钟了解Android 简易时间轴的实现方法
作者:MiHomes 时间:2023-04-02 20:56:19
一.有段时间没更了,因为一直在思索,应该写点什么,真的是无比纠结。这一回,就给大家分享一款简便好用的,小编自制的土晾时间轴。
附上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
标签:Android,时间轴
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
android webview中使用Java调用JavaScript方法并获取返回值
2022-03-01 20:00:57
SpringBoot使用SchedulingConfigurer实现多个定时任务多机器部署问题(推荐)
2021-09-17 07:19:20
![](https://img.aspxhome.com/file/2023/5/103855_0s.png)
java针对电话号码正则匹配实例
2023-07-15 05:49:32
Android入门之ActivityGroup+GridView实现Tab分页标签的方法
2022-11-01 05:38:33
![](https://img.aspxhome.com/file/2023/9/111299_0s.gif)
Java 创建PDF打印小册子案例
2023-01-17 04:19:40
![](https://img.aspxhome.com/file/2023/3/70503_0s.png)
Java中方法重写与重载的区别
2022-07-25 04:49:01
SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI
2022-07-08 07:40:23
![](https://img.aspxhome.com/file/2023/6/61516_0s.jpg)
超酷炫的Android碎纸机效果推荐
2022-05-21 01:20:44
![](https://img.aspxhome.com/file/2023/1/138001_0s.png)
Java生产者消费者模式实例分析
2023-12-13 02:12:59
![](https://img.aspxhome.com/file/2023/5/92635_0s.jpg)
基于spring boot 的配置参考大全(推荐)
2021-11-28 23:32:41
java Matcher匹配头尾截取替换字符串的案例
2023-01-30 11:44:48
C语言 超详细总结讲解二叉树的概念与使用
2023-11-08 20:24:56
![](https://img.aspxhome.com/file/2023/2/120782_0s.webp)
Android自定义processor实现bindView功能的实例
2023-09-07 17:16:37
![](https://img.aspxhome.com/file/2023/1/139621_0s.png)
C#函数式编程中的标准高阶函数详解
2021-06-09 06:27:07
![](https://img.aspxhome.com/file/2023/3/85673_0s.png)
Spring中的注解@Autowired实现过程全解(@Autowired 背后的故事)
2023-01-01 06:02:53
Android远程服务编写和调用教程
2022-06-14 18:10:45
用命令行编译java并生成可执行的jar包方法
2023-01-15 23:21:35
Android使用CircleImageView实现圆形头像的方法
2022-04-08 19:06:34
![](https://img.aspxhome.com/file/2023/1/92581_0s.png)
Java ThreadLocal类应用实战案例分析
2022-07-11 19:04:36
C# MVC 使用LayUI实现下拉框二级联动的功能
2022-12-07 02:10:05
![](https://img.aspxhome.com/file/2023/7/89867_0s.gif)