当前位置: 移动技术网 > IT编程>移动开发>Android > 教你3分钟了解Android 简易时间轴的实现方法

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

尿裤,刘易阳经典台词,无赖邪佛

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

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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网