本文实例为大家分享了Android实现快递物流时间轴效果展示的具体代码,供大家参考,具体内容如下
首先,这篇参考了别人的代码。根据自己的项目需求简单改造了一下,效果图如下
xml:代码
代码语言:javascript复制<?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/lv_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:cacheColorHint="@null"
android:divider="@null"
</ListView
</LinearLayout
接下来是Activity,准备数据就好了
代码语言:javascript复制public class TimeLineTextActivity extends Activity{
private ListView listView;
private TimeLineAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=(ListView) findViewById(R.id.lv_list);
listView.setDividerHeight(0);
adapter = new TimeLineAdapter(this, initData());
listView.setAdapter(adapter);
}
private List<Map<String, Object initData() {
List<Map<String, Object list = new ArrayList<Map<String, Object ();
Map<String, Object map = new HashMap<String, Object ();
map.put("title", "提交已完成......");
map.put("time", "2015-10-22 14:00:00");
list.add(map);
map = new HashMap<String, Object ();
map.put("title", "正在审核中......");
map.put("time", "2015-10-22 15:00:00");
list.add(map);
map = new HashMap<String, Object ();
map.put("title", "客服将会给您打电话......");
map.put("time", "2015-10-22 16:00:00");
list.add(map);
map = new HashMap<String, Object ();
map.put("title", "订单已完成");
map.put("time", "2015-10-22 17:00:00");
list.add(map);
return list;
}
}
Adapter:
代码语言:javascript复制public class TimeLineAdapter extends BaseAdapter {
private Context context;
private List<Map<String,Object list;
private LayoutInflater inflater;
public TimeLineAdapter(Context context, List<Map<String, Object list) {
super();
this.context = context;
this.list = list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
TimeLineHolder viewHolder = null;
if (convertView == null) {
inflater = LayoutInflater.from(parent.getContext());
convertView = inflater.inflate(R.layout.itemtimeline2, null);
viewHolder = new TimeLineHolder();
viewHolder.title = (TextView) convertView.findViewById(R.id.title);
viewHolder.time = (TextView) convertView.findViewById(R.id.time);
convertView.setTag(viewHolder);
} else {
viewHolder = (TimeLineHolder) convertView.getTag();
}
String titleStr = list.get(position).get("title").toString();
viewHolder.title.setText(titleStr);
return convertView;
}
static class TimeLineHolder{
private TextView title,time;
}
}
每一个item的布局:
代码语言:javascript复制<?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:orientation="vertical"
<View
android:id="@ id/view_0"
android:layout_width="1dp"
android:layout_height="25dp"
android:layout_below="@ id/layout_1"
android:layout_marginLeft="40dp"
android:background="#A6A6A6" /
<ImageView
android:id="@ id/image"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_below="@ id/view_0"
android:layout_marginLeft="33dp"
android:src="@drawable/timeline_green" /
<View
android:id="@ id/view_2"
android:layout_width="1dp"
android:layout_height="50dp"
android:layout_below="@ id/image"
android:layout_marginLeft="40dp"
android:background="#A6A6A6" /
<View
android:id="@ id/view_4"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignBottom="@ id/view_2"
android:layout_marginLeft="55dp"
android:layout_marginRight="15dp"
android:background="#A6A6A6" /
<RelativeLayout
android:id="@ id/relative"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:layout_toRightOf="@ id/view_0"
android:layout_alignBottom="@ id/view_4"
android:padding="5dp"
android:orientation="vertical"
<TextView
android:id="@ id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:layout_marginTop="8dp"
android:maxEms="7"
android:paddingLeft="5dp"
android:singleLine="true"
android:text="需求提交成功"
android:textSize="16sp" /
<TextView
android:id="@ id/time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:layout_below="@ id/title"
android:layout_marginTop="15dp"
android:maxEms="7"
android:paddingLeft="5dp"
android:singleLine="true"
android:text="2015-9-28"
android:textSize="14sp" /
</RelativeLayout
</RelativeLayout
其实这个东西看起来复杂,实际上挺简单的,就是一个ListView,希望对大家有帮助!
以上就是本文的全部内容,希望对大家的学习有所帮助。