国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現快遞物流跟蹤布局效果

2019-10-23 18:29:11
字體:
來源:轉載
供稿:網友

先看效果

android,物流跟蹤,物流跟蹤效果,android物流跟蹤源碼

首頁Activity

public class TraceActivity extends AppCompatActivity {  private ListView lvTrace;  private List<Trace> traceList = new ArrayList<>(10);  private TraceListAdapter adapter;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_trace);    findView();    initData();  }  private void findView() {    lvTrace = (ListView) findViewById(R.id.lvTrace);  }  private void initData() {    // 模擬一些假的數據    traceList.add(new Trace("2016年11月18日 上午12:04:01", "在湖北武漢洪山區光谷公司長江社區便民服務站進行簽收掃描,快件已被 已簽收 簽收"));    traceList.add(new Trace("2016年11月18日 上午11:57:25", "在湖北武漢洪山區光谷公司長江社區便民服務站進行派件掃描;派送業務員:老王;聯系電話:17786550311"));    traceList.add(new Trace("2016年11月17日 下午4:43:29", "在湖北武漢洪山區光谷公司進行快件掃描,將發往:湖北武漢洪山區光谷公司長江社區便民服務站"));    traceList.add(new Trace("2016年11月17日 上午9:11:21", "從湖北武漢分撥中心發出,本次轉運目的地:湖北武漢洪山區光谷公司"));    traceList.add(new Trace("2016年11月17日 上午1:53:14", "在湖南長沙分撥中心進行裝車掃描,即將發往:湖北武漢分撥中心"));    traceList.add(new Trace("2016年11月17日 上午1:50:18", "在分撥中心湖南長沙分撥中心進行稱重掃描"));    traceList.add(new Trace("2016年11月16日 上午11:27:58", "在湖南隆回縣公司進行到件掃描"));    adapter = new TraceListAdapter(this, traceList);    lvTrace.setAdapter(adapter);  }}

然后適配器

public class TraceListAdapter extends BaseAdapter {  private Context context;  private List<Trace> traceList = new ArrayList<>(1);  private static final int TYPE_TOP = 0x0000;  private static final int TYPE_NORMAL= 0x0001;  public TraceListAdapter(Context context, List<Trace> traceList) {    this.context = context;    this.traceList = traceList;  }  @Override  public int getCount() {    return traceList.size();  }  @Override  public Trace getItem(int position) {    return traceList.get(position);  }  @Override  public long getItemId(int position) {    return position;  }  @Override  public View getView(int position, View convertView, ViewGroup parent) {    ViewHolder holder;    final Trace trace = getItem(position);    if (convertView != null) {      holder = (ViewHolder) convertView.getTag();    } else {      holder = new ViewHolder();      convertView = LayoutInflater.from(context).inflate(R.layout.item_trace, parent, false);      holder.tvAcceptTime = (TextView) convertView.findViewById(R.id.tvAcceptTime);      holder.tvAcceptStation = (TextView) convertView.findViewById(R.id.tvAcceptStation);      holder.tvTopLine = (TextView) convertView.findViewById(R.id.tvTopLine);      holder.tvDot = (TextView) convertView.findViewById(R.id.tvDot);      holder.tv_new = (TextView) convertView.findViewById(R.id.tv_new);      convertView.setTag(holder);    }    if (getItemViewType(position) == TYPE_TOP) {      // 第一行頭的豎線不顯示      holder.tvTopLine.setVisibility(View.INVISIBLE);      holder.tv_new.setVisibility(View.VISIBLE);      // 字體顏色加深      holder.tvAcceptTime.setTextColor(context.getResources().getColor(R.color.red));      holder.tvAcceptStation.setTextColor(context.getResources().getColor(R.color.red));      holder.tvDot.setBackgroundResource(R.drawable.timelline_dot_secord);    } else if (getItemViewType(position) == TYPE_NORMAL) {      holder.tvTopLine.setVisibility(View.VISIBLE);      holder.tv_new.setVisibility(View.INVISIBLE);      holder.tvAcceptTime.setTextColor(0xff999999);      holder.tvAcceptStation.setTextColor(0xff999999);      holder.tvDot.setBackgroundResource(R.drawable.timelline_dot_first);    }    holder.tvAcceptTime.setText(trace.getAcceptTime());    holder.tvAcceptStation.setText(trace.getAcceptStation());    return convertView;  }  @Override  public int getItemViewType(int id) {    if (id == 0) {      return TYPE_TOP;    }    return TYPE_NORMAL;  }  static class ViewHolder {    public TextView tvAcceptTime, tvAcceptStation;    public TextView tvTopLine, tvDot,tv_new;  }}

實體類

public class Trace {  /** 時間 */  private String acceptTime;  /** 描述 */  private String acceptStation;  public Trace() {  }  public Trace(String acceptTime, String acceptStation) {    this.acceptTime = acceptTime;    this.acceptStation = acceptStation;  }  public String getAcceptTime() {    return acceptTime;  }  public void setAcceptTime(String acceptTime) {    this.acceptTime = acceptTime;  }  public String getAcceptStation() {    return acceptStation;  }  public void setAcceptStation(String acceptStation) {    this.acceptStation = acceptStation;  }}

activity布局和item布局

<LinearLayout xmlns:android/56800.html">android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:id="@+id/activity_main"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  android:background="@android:color/white"  tools:context="cc.duduhuo.timelinedemo.TraceActivity">  <ListView    android:id="@+id/lvTrace"    android:layout_width="match_parent"    android:divider="@null"    android:clickable="false"    android:listSelector="@android:color/transparent"    android:dividerHeight="0dp"    android:layout_height="wrap_content" /></LinearLayout>
<?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:gravity="center"  android:orientation="horizontal">  <RelativeLayout    android:id="@+id/rlTimeline"    android:layout_width="75dp"    android:layout_height="match_parent">    <TextView      android:id="@+id/tvTopLine"      android:layout_width="0.5dp"      android:layout_height="12dp"      android:layout_centerHorizontal="true"      android:background="#999" />    <TextView      android:id="@+id/tvDot"      android:layout_width="5dp"      android:layout_height="5dp"      android:layout_margin="2dp"      android:layout_below="@id/tvTopLine"      android:layout_centerHorizontal="true"      android:background="@drawable/timelline_dot_normal" />    <TextView      android:layout_width="0.5dp"      android:layout_height="match_parent"      android:layout_below="@id/tvDot"      android:layout_centerHorizontal="true"      android:background="#999" />    <TextView      android:id="@+id/tv_new"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:text="最新"      android:textColor="#ffffff"      android:background="#ff0000"      android:textSize="12sp"      android:layout_marginLeft="3dp"      android:paddingLeft="3dp"      android:paddingRight="3dp"      android:layout_toRightOf="@id/tvDot"      android:layout_below="@id/tvTopLine"      />  </RelativeLayout>  <RelativeLayout    android:id="@+id/rlCenter"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="6dp"    android:paddingRight="10dp"    android:paddingLeft="10dp"    android:paddingTop="6dp">    <TextView      android:id="@+id/tvAcceptTime"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:text="2014/06/24 20:55:28"      android:textColor="#999"      android:textSize="12sp" />    <TextView      android:id="@+id/tvAcceptStation"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_below="@id/tvAcceptTime"      android:layout_marginTop="5dp"      android:text="在湖南隆回縣公司進行到件掃描"      android:textColor="#999"      android:textSize="12sp" />  </RelativeLayout></LinearLayout>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陆川县| 个旧市| 额尔古纳市| 乌兰察布市| 文成县| 黄平县| 定结县| 珠海市| 安溪县| 汉中市| 林州市| 扶绥县| 贵阳市| 金昌市| 镇坪县| 虞城县| 仁寿县| 定南县| 呼伦贝尔市| 田东县| 望城县| 乌拉特前旗| 密云县| 宜川县| 巴林左旗| 汝城县| 闽清县| 黄大仙区| 抚松县| 龙游县| 崇礼县| 大洼县| 伊宁县| 博客| 岐山县| 桂东县| 贵定县| 古浪县| 卓资县| 绍兴县| 搜索|