首页 > 系统 > Android > 正文

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

2019-10-22 18:11:02
字体:
来源:转载
供稿:网友

本文实例为大家分享了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,希望对大家有帮助!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表