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视图绘制流程完全解析,带你一步步深入了解View(二)

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

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

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

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

本文原创 ,转载必须注明出处 :http://blog.csdn.net/qinjuning               在上篇博文 Android中ActivityManagerServ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

android布局里竖线的问题

困扰了很久的布局里的竖线终于解决啦!这个问题也许有人一秒钟就搞定了,然后我用了好多天,其实是进入了一个误区。一条竖线,用View实现,宽度好弄,1dp或者0.5dp都行;可是高度呢,误区就在这了。先说...

android BLE4.0 流程图

BLE蓝牙在android上连接,底层实现读取的详细执行过程: 1、扫描: 使用BluetoothAdapter.startLeScan来扫描低功耗蓝牙设备,获取设备对象device,通过device...

ListView setOnItemClickListener无法响应点击事件解决

You need to set android:descendantFocusability="blocksDescendants" in your custom xml layout file ...
  • JimFire
  • JimFire
  • 2013年06月15日 22:49
  • 3034

解决android调用系统相机拍照保存时onActivityResult中data为null的问题

调用系统相机照相的代码: boolean isNull=false;//判断照相机返回数据是否为空 Intent getImageByCamera = new Intent("android...

Android学习笔记(20)————利用ListView制作带竖线的多彩表格

/********************************************************************************************  * aut...
  • conowen
  • conowen
  • 2012年04月02日 17:23
  • 20245

Android 一条竖线或横线、画边框

1、画线 [img] http://pic002.cnblogs.com/images/2010/122963/2010122216290992.png [/img] 如果是LinearL...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android简单的竖线流程图介绍
举报原因:
原因补充:

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