android项目解刨之时间轴
16lz
2021-01-26
最近开发的app中要用到时间轴这东西,需要实现的效果如下:
想想这个东西应该可以用listview实现吧。然后最近就模拟着去写了:
首先写 listview的item的布局:
listview_item.xml
<?xml version="1.0" encoding="utf-8"?>
接下来就是写listview的adapter了:
TimelineAdapter.java
package com.example.timelinetext.test;import java.util.List;import java.util.Map;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;public class TimelineAdapter extends BaseAdapter {private Context context;private List
最后使用:
MainActivity.java
package com.example.timelinetext.test;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.os.Bundle;import android.widget.ListView;public class MainActivity extends Activity {private ListView listView;List data ;private TimelineAdapter timelineAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_listview);listView = (ListView) this.findViewById(R.id.listview);listView.setDividerHeight(0);timelineAdapter = new TimelineAdapter(this, getData());listView.setAdapter(timelineAdapter);}private List> getData() {List> list = new ArrayList>();Map map = new HashMap();map.put("title", "这是第1行测试数据");list.add(map);map = new HashMap();map.put("title", "这是第2行测试数据");list.add(map);map = new HashMap();map.put("title", "这是第3行测试数据");list.add(map);map = new HashMap();map.put("title", "这是第4行测试数据");list.add(map);return list;}}
运行效果如图:
所以模拟着去写一个时间轴,并不是什么复杂的事情,不要被UI设计的图片吓到,其实他就是一个普通的listview而已。
源码下载
更多相关文章
- Android插件—H.A.X.M(硬件加速执行管理器)
- Android(安卓)EditText.setError() - 会弹出一个popupwindow,效果
- Android(安卓)开源框架ActionBarSherlock 和 ViewPager 仿网易新
- Android:阴影效果的另一种实现方法:layer-list
- Android(安卓)Studio 启动安卓模拟器时,报VT-x is disabled in BI
- [Android]ViewSwitcher使用范例
- Android_DDMS快速入门
- Android(安卓)-- RecyclerView实现顶部吸附效果
- DDMS