首页 > 系统 > Android > 正文

教你3分钟了解Android 简易时间轴的实现方法

2019-12-12 02:21:47
字体:
来源:转载
供稿:网友

一.有段时间没更了,因为一直在思索,应该写点什么,真的是无比纠结。这一回,就给大家分享一款简便好用的,小编自制的土晾时间轴。

附上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.适合自己的才是最好的,大家可以根据自己的情况进行修改,也可以查阅更多的资料,以上只是一种实现的方式,随手分享。

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表