本文實例為大家分享了Android實現(xiàn)快遞物流時間軸效果展示的具體代碼,供大家參考,具體內(nèi)容如下
首先,這篇參考了別人的代碼。根據(jù)自己的項目需求簡單改造了一下,效果圖如下
	
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,準(zhǔn)備數(shù)據(jù)就好了
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>
其實這個東西看起來復(fù)雜,實際上挺簡單的,就是一個ListView,希望對大家有幫助!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點
疑難解答
圖片精選