android简单的竖线流程图介绍

原创 2016年05月31日 09:18:56

先看一下效果图

实现这种效果的方法有很多,但是我今天写的是用LIST来实现这种效果代码很简

首先,主Activity中放入一个LIST,然后将上面看到的布局适配进去就实现了,原理就是这样线面看代码

这里是布局文件

<?xml version="1.0" encoding="utf-8"?>  
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        android:layout_width="match_parent"  
        android:layout_height="match_parent"  
        android:background="#ffffff"  
        android:orientation="vertical"  
        android:paddingRight="20dp" >  
      
      
        <View  
            android:id="@+id/view_0"  
            android:layout_width="1dp"  
            android:layout_height="25dp"  
            android:layout_below="@+id/layout_1"  
            android:layout_marginLeft="71dp"  
            android:background="#A6A6A6" />  
      
        <View  
            android:id="@+id/view_1"  
            android:layout_width="1dp"  
            android:layout_height="25dp"  
            android:layout_below="@+id/layout_2"  
            android:layout_marginLeft="71dp"  
            android:background="#A6A6A6" />  
      
        <TextView  
            android:id="@+id/show_time"  
            android:layout_width="50dp"  
            android:layout_height="50dp"  
            android:layout_below="@+id/view_1"  
            android:layout_marginLeft="10dp"  
            android:text="测试数据"  
            android:textSize="12dp" />  
      
        <ImageView  
            android:id="@+id/image"  
            android:layout_width="15dp"  
            android:layout_height="15dp"  
            android:layout_below="@+id/view_1"  
            android:layout_marginLeft="65dp"  
            android:src="@drawable/indicator_on" />  
      
        <View  
            android:id="@+id/view_2"  
            android:layout_width="1dp"  
            android:layout_height="100dp"  
            android:layout_below="@+id/image"  
            android:layout_marginLeft="71dp"  
            android:background="#A6A6A6" />  
      
        <RelativeLayout  
            android:id="@+id/relative"  
            android:layout_width="fill_parent"  
            android:layout_height="wrap_content"  
            android:layout_below="@+id/image"  
            android:layout_marginTop="-20dp"  
            android:layout_toRightOf="@+id/image"  
            android:background="@color/gray"  
            android:padding="10dp" >  
      
              
      
            <TextView  
                android:id="@+id/title2"  
                android:layout_width="wrap_content"  
                android:layout_height="wrap_content"  
                android:layout_centerHorizontal="true"  
                android:layout_centerVertical="true"  
               
               
                android:paddingLeft="5dp"  
                
                android:text="测试数据"  
                android:textSize="12sp" />  
      
        </RelativeLayout>  
      
    </RelativeLayout>  
下面是Adapter的代码继承BaseAdapter

public class TimelineAdapter extends BaseAdapter {  
	  
    private Context context;  
    private List<HashMap<String, String>> list;  
    private LayoutInflater inflater;  
  
    public TimelineAdapter(Context context, ArrayList<HashMap<String, String>> list2) {  
        super();  
        this.context = context;  
        this.list = list2;  
    }  
  
    @Override  
    public int getCount() {  
  
        return list.size();  
    }  
  
    @Override  
    public Object getItem(int position) {  
        return position;  
    }  
  
    @Override  
    public long getItemId(int position) {  
        return position;  
    }  
  
    @Override  
    public View getView(int position, View convertView, ViewGroup parent) {  
        ViewHolder viewHolder = null;  
        if (convertView == null) {  
            inflater = LayoutInflater.from(parent.getContext());  
            convertView = inflater.inflate(R.layout.anctivty_lc, null);  
            viewHolder = new ViewHolder();  
  
            viewHolder.title = (TextView) convertView.findViewById(R.id.title2);  
            viewHolder.show_time = (TextView) convertView.findViewById(R.id.show_time);  
            convertView.setTag(viewHolder);  
        } else {  
            viewHolder = (ViewHolder) convertView.getTag();  
        }  
        String str="";
        String a="";
        String titleStr = list.get(position).get("SJL").toString();  
        if (titleStr.contains("[")) {
        	System.out.println("222");
        	 viewHolder.show_time.setText("正在处理"); 
        	
		}else{
			str=  titleStr.substring(0, 19);
			   viewHolder.show_time.setText(str); 
		}
     
   
   
        if (titleStr.contains("[")) {
        	System.out.println("3333");
        	 viewHolder.title.setText(titleStr); 
        	
		}else{
			a=titleStr.substring(19,titleStr.length());
			  viewHolder.title.setText(a);  
		}
      
      
  
        return convertView;  
    }  
  
     class ViewHolder {  
        public TextView year;  
        public TextView month;  
        public TextView title;  
        public TextView show_time;  
    }  
}  
上面的这些代码是因为项目需要将字符串分截取时间等操作,可以忽略,直接settext就可以了
String str="";
        String a="";
        String titleStr = list.get(position).get("SJL").toString();  
        if (titleStr.contains("[")) {
        	System.out.println("222");
        	 viewHolder.show_time.setText("正在处理"); 
        	
		}else{
			str=  titleStr.substring(0, 19);
			   viewHolder.show_time.setText(str); 
		}
     
   
   
        if (titleStr.contains("[")) {
        	System.out.println("3333");
        	 viewHolder.title.setText(titleStr); 
        	
		}else{
			a=titleStr.substring(19,titleStr.length());
			  viewHolder.title.setText(a);  
		}
      
 

下边是主Activity中setAdapter就实现了

TimelineAdapter timelineAdapter=new TimelineAdapter(ShijianlcActivity.this, list);
                    shijianlc.setAdapter(timelineAdapter);


版权声明:本文为博主原创文章,未经博主允许不得转载。

android实现类似于订单流程图界面

忙忙碌碌的写了几个月的代码,完全将以前爱记录的习惯给搞坏了。趁着老板不在公司,先写下这篇博客。 项目中需要使用到类似于订单流程图,本以为可以通过xml布局文件来简单的实现,没有想到不太好实现...
  • rantao_1991
  • rantao_1991
  • 2016年12月20日 15:35
  • 1995

Android视图绘制流程完全解析,带你一步步深入了解View(二)

在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么...
  • sinyu890807
  • sinyu890807
  • 2013年12月26日 08:30
  • 183170

android binder流程图

  • 2012年11月10日 22:05
  • 571KB
  • 下载

android 关机流程图

android  关机流程图   ShutdownThread.java文件 stop playing music,因为后面可能要playing shutdown music. 代码如下:     ...
  • MENGHUANBEIKE
  • MENGHUANBEIKE
  • 2017年04月11日 14:00
  • 752

Android中启动Activity(startActivity)流程图分析

本文原创 ,转载必须注明出处 :http://blog.csdn.net/qinjuning               在上篇博文 Android中ActivityManagerServ...
  • qinjuning
  • qinjuning
  • 2012年02月20日 21:26
  • 21016

Android应用层View绘制流程与源码分析

1 背景 还记得前面《Android应用setContentView与LayoutInflater加载解析机制源码分析》这篇文章吗?我们有分析到Activity中界面加载显示的基本流程原理,记不...
  • fanguangjun123
  • fanguangjun123
  • 2017年12月08日 09:34
  • 163

Android中添加水平线和垂直线

1.添加水平线 2.添加垂直线
  • pcaxb
  • pcaxb
  • 2015年07月21日 22:29
  • 1691

Android程序的执行流程分析

《大话企业级Android应用开发实战》这是一本能够让你学出幸福感并在还没有学完时就能够胜任Android应用软件工程师工作的书。本书所有的内容都是基于企业内部的Android实际开发需要和问题而著。...
  • passtome
  • passtome
  • 2012年06月28日 16:16
  • 10958

Android物流跟踪

最近在网上看到时间轴的布局效果,尝试按照这个原理,实现物流跟踪的效果,目前已经实现了,效果如下图。 界面布局主要是通过listView来实现的,listView item...
  • nanxizhu
  • nanxizhu
  • 2015年08月14日 17:31
  • 3389

Android图形显示系统——一张图片的显示流程

Android设备上一张图片的显示过程应用示例假如我们现在有一张这样的风景照 想在Android设备(比如一个小米pad)上显示出来。首先想到的是写一个应用,用一个ImageView,把这张照片...
  • jxt1234and2010
  • jxt1234and2010
  • 2016年01月20日 23:56
  • 4916
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android简单的竖线流程图介绍
举报原因:
原因补充:

(最多只允许输入30个字)