软件编程
位置:首页>> 软件编程>> Android编程>> Android实现快递物流时间轴效果

Android实现快递物流时间轴效果

作者:willA书欢  发布时间:2021-12-03 23:56:54 

标签:Android,时间轴

本文实例为大家分享了Android实现快递物流时间轴效果展示的具体代码,供大家参考,具体内容如下

首先,这篇参考了别人的代码。根据自己的项目需求简单改造了一下,效果图如下

Android实现快递物流时间轴效果

xml:代码


<?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,准备数据就好了


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:


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的布局:


<?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,希望对大家有帮助!

来源:https://blog.csdn.net/sinat_16458039/article/details/49617553

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com