关闭

android简单的竖线流程图介绍

标签: android
565人阅读 评论(0) 收藏 举报
分类:

先看一下效果图

实现这种效果的方法有很多,但是我今天写的是用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);


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3449次
    • 积分:151
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论