最近开发app搞到历史查询,受腾讯qq的启发,搞一个具有时间轴效果的ui,看上去还可以,然后马上想到分享给小伙伴,,大家一起来看看,先上效果图吧
接下来就是代码了,axtivity的布局代码,很简单,就是一个listview
<?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" > <ListView android:id="@+id/listview" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
下面就是activity.java这个了
package com.agbc.activity;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.agbc.adapter.TimelineAdapter;import com.agbc.listview.XListView;import com.example.agbc.R;import com.lidroid.xutils.ViewUtils;import com.lidroid.xutils.view.annotation.ViewInject;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android.widget.ListView;/** * 历史时间轴 * @author twj * */public class HistoryTaskActivity extends FragmentActivity{ private XListView listView; List<String> data ; private TimelineAdapter timelineAdapter; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.activity_timeline); findViewById(); listView.setDividerHeight(0); timelineAdapter=new TimelineAdapter(getDate(), this); listView.setAdapter(timelineAdapter); } private List<Map<String, Object>> getDate() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map = new HashMap<String, Object>(); map.put("year", "2014"); map.put("month", "03/15"); map.put("title", "这是第1行测试数据"); list.add(map); map = new HashMap<String, Object>(); map.put("year", "2014"); map.put("month", "12/1"); map.put("title", "这是第2行测试数据"); list.add(map); map = new HashMap<String, Object>(); map.put("year", "2013"); map.put("month", "11/15"); map.put("title", "这是第3行测试数据"); list.add(map); map = new HashMap<String, Object>(); map.put("year", "1998"); map.put("month", "01/1"); map.put("title", "这是第4行测试数据"); list.add(map); return list; } private void findViewById() { listView=(XListView) findViewById(R.id.listview); }}
接下来就是 适配器了,适配器其实也简单
package com.example.timelinetext.test;import java.util.List;import java.util.Map;import android.content.Context;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;public class Timeline