android listview 实现时光轴效果
来源:互联网 发布:淘宝的捉猫猫怎么玩 编辑:程序博客网 时间:2024/06/01 07:48
listview实现类似如下的时光轴效果
最主要的是左边的时光轴节点和时光轴的问题,这个问题解决了,基本上这个时光轴就做出来了,实现的大体思路如下
把listview和一条竖直的线放在一起,然后再在listview的每个item左边放一个圆形图标做为时光轴节点,调整距离使他正好覆盖在线上,这样就不同担心当每个item的高度变化后,时光轴节点和item对应的问题了。
代码:
主布局:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" tools:context="gaojin.neu.timeroller.MainActivity"> <LinearLayout android:id="@+id/ll_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:paddingBottom="8dp" android:paddingTop="5dp"> <TextView android:id="@+id/tv_left" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_weight="1" android:text="时光历史" android:textColor="@color/black" android:textSize="16sp" /> <TextView android:id="@+id/tv_right" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginRight="20dp" android:layout_weight="1" android:gravity="right" android:text="时光机" android:textColor="@color/pink" /> </LinearLayout> <View android:id="@+id/line_vertical" android:layout_width="match_parent" android:layout_height="1dp" android:layout_below="@+id/ll_title" android:background="@color/gray" /> <View android:id="@+id/line_top" android:layout_width="1dp" android:layout_height="match_parent" android:layout_below="@+id/line_vertical" android:layout_marginLeft="22dp" android:background="@color/gray" /><!--listview设置为不显示分割线,自己在item布局里面加入分割线--> <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/line_vertical" android:cacheColorHint="@null" android:divider="@null"> </ListView></RelativeLayout>
listview的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"> <ImageView android:id="@+id/image" android:layout_width="14dp" android:layout_height="14dp" android:layout_marginLeft="15dp" android:layout_marginTop="8dp" android:background="@mipmap/radio" /> <RelativeLayout android:id="@+id/rl_center" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="5dp" android:layout_toRightOf="@+id/image" > <TextView android:id="@+id/tv_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:gravity="center" android:text="2016-8-17 17:14:23" android:textSize="14sp" /> <TextView android:id="@+id/group" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginTop="8dp" android:layout_toRightOf="@+id/tv_time" android:gravity="center" android:text="天气: 晴" android:textSize="14sp" /> <TextView android:id="@+id/tv_info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/tv_time" android:layout_marginTop="5dp" android:text="从前从前 有个人爱你很久" android:textColor="@color/black" android:textSize="16sp" /> <View android:id="@+id/line" android:layout_width="match_parent" android:layout_height="1dp" android:layout_below="@+id/tv_info" android:layout_marginTop="10dp" android:background="@color/gray" /> </RelativeLayout></RelativeLayout>
java文件的代码就很简单了
MainActivity:
public class MainActivity extends AppCompatActivity { private List<String> list = new ArrayList<String>(); private MyAdapter adapter; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listview); for (int i = 0; i < 50; i++) { list.add("555" + i); } adapter = new MyAdapter(this, list); listView.setAdapter(adapter); }}
然后自己再设置一下adapter就好了
大功告成!
0 0
- android listview 实现时光轴效果
- 时光轴一之listView实现时光轴效果
- 【Android】时光轴效果
- androidd时光轴效果实现
- RecyclerView实现时光轴效果
- 《Android 时光轴实现》
- 自定义recyclerView实现时光轴效果
- Android 时间轴效果和ListView点击效果的实现
- Android 圆角ListView效果实现
- Android RecyclerView实现listview效果
- Android ListView 分组效果实现
- Unity时光倒流效果实现
- Android之RecyclerView实现时光轴
- Android基础控件——ListView实现时间轴效果
- Magento时光轴效果显示
- ExpandableListView版时光轴效果
- qq空间时光轴效果
- Android ListView实现Table行列效果
- Notificationt通知栏使用详解
- Message Flood 【排序--二分查找】
- 数据结构——13 队列链表描述
- java web过滤器实际应用(解决中文乱码 html标签转义功能 敏感字符过滤功能)
- c/c++ 内存泄露分析工具
- android listview 实现时光轴效果
- Svn项目迁移到Git及Visual Studio 中git使用
- 2016上半年总结
- 彻底学会使用epoll(六)——关于ET的若干问题总结
- Java案例:双色球的实现
- MFC ASSERT 详解
- Android setContentView()源码解析
- 配置Android的SDK,DNK,JDK,ANT打包APK环境
- JS中得到input中的值相乘问题