教你3分钟了解Android 简易时间轴的实现方法
时间:2022-07-27
本文章向大家介绍教你3分钟了解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.适合自己的才是最好的,大家可以根据自己的情况进行修改,也可以查阅更多的资料,以上只是一种实现的方式,随手分享。
以上就是本文的全部内容,希望对大家的学习有所帮助。
- SpringBoot编写自定义的starter
- webpack3新特性简介
- Python机器学习算法入门之梯度下降法实现线性回归
- IronPython 2.0 beta 5
- node.js如何制作命令行工具(一)
- (28) 剖析包装类 (下) / 计算机程序的思维逻辑
- Linux进程监控工具Supervisor简易使用教程
- (29) 剖析String / 计算机程序的思维逻辑
- (27) 剖析包装类 (中) / 计算机程序的思维逻辑
- Python量子力学计算模拟以及数据可视化
- (26) 剖析包装类 (上) / 计算机程序的思维逻辑
- (25) 异常 (下) / 计算机程序的思维逻辑
- (24) 异常 (上) / 计算机程序的思维逻辑
- Python3.6新特性官方文档中文版
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 【DB笔试面试861】在Oracle中,有哪些常见组件?
- 【DB笔试面试862】在Oracle中,如何安装DBMS_NETWORK_ACL_ADMIN包?
- 【DB宝19】在Docker中使用MySQL高可用之MHA
- 【DB笔试面试863】在Oracle中,如何让Oracle DB、监听和oem开机启动?
- 【DB笔试面试864】在Oracle中,响应文件在什么位置?
- 设计模式几大原则
- Thrift使用教程(Java版本)
- C语言实现三子棋
- C语言操作符
- 一级指针、二级指针、指针和数组、指针数组总结
- C++入门知识(一)
- C++入门知识(二)
- 容易混淆的const
- MySQL数据库学习笔记之数据库及SQL/MySQL基础
- 时间复杂度与空间复杂度总结