listView自动滑动功能
来源:互联网 发布:守望先锋max录入数据 编辑:程序博客网 时间:2024/05/18 00:34
主要功能代码
package com.example.administrator.mytest;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;import java.util.ArrayList;import java.util.Arrays;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class Main2Activity extends AppCompatActivity { private ListView listView; private String[] a={"1","2","3","4","5","6","7","8","9"}; private ArrayList<String> mData; public int index=-1; private TimerTask timerTask=new TimerTask() { @Override public void run() { Message msg=new Message(); msg.what=1; handler.sendMessage(msg); } }; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what){ case 1: listViewScroll(); break; } } }; private View listViewItem; private void listViewScroll() { listView.smoothScrollToPositionFromTop(index,-(listViewItem.getMeasuredHeight()+listView.getDividerHeight()),1000); index+=1; if (index>=listView.getCount()){ Log.e("Main2Activity","listView.getCount():"+listView.getCount()); index=0; } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); listView = (ListView)findViewById(R.id.lv); listView.setDividerHeight(0); listView.setDivider(null); mData = new ArrayList<String>(Arrays.asList(a)); MyAdapter adapter = new MyAdapter(); measureItem(adapter); } private void measureItem(MyAdapter adapter) { listView.setAdapter(adapter); listViewItem = adapter.getView(0, null, listView); listViewItem.measure(0,0); Log.e("Main2Activity","listViewItem :"+listViewItem.getMeasuredHeight()); int totalHei = (listViewItem.getMeasuredHeight()+listView.getDividerHeight() ) * 4; listView.getLayoutParams().height=totalHei; new Timer().schedule(timerTask,new Date(),2000); } private class MyAdapter extends BaseAdapter{ @Override public int getCount() { return Integer.MAX_VALUE; } @Override public int getItemViewType(int position) { if (position%2==0){ return 0; }else{ return 1; } } @Override public int getViewTypeCount() { return super.getViewTypeCount()+1; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (null==convertView){ convertView=View.inflate(Main2Activity.this,R.layout.activity_main2_item,null); holder=new ViewHolder(); holder.item=(TextView)convertView.findViewById(R.id.lv_item); holder.llItem=(LinearLayout)convertView.findViewById(R.id.ll_item); convertView.setTag(holder); }else{ holder = (ViewHolder) convertView.getTag(); } //不同条目设置背景色 holder.llItem.setBackgroundResource(getItemViewType(position)==0?R.color.transparent:R.color.view_gray); holder.item.setText(mData.get(position%mData.size())); return convertView; } } static class ViewHolder{ TextView item; LinearLayout llItem; } @Override protected void onDestroy() { timerTask.cancel(); handler.removeCallbacksAndMessages(null); super.onDestroy(); }}
0 0
- listView自动滑动功能
- ListView上下自动滑动
- ListView 自动向下滑动
- 实现listview滑动删除功能
- listView滑动刷新代码(分页功能)
- listView滑动刷新代码(分页功能)
- Android listView滑动刷新代码(分页功能)
- listView滑动刷新代码(分页功能)
- listView滑动刷新代码(分页功能)
- listView滑动刷新代码(分页功能)
- 仿微信通讯录滑动定位ListView功能
- ListView滑动到底部自动加载
- ListView滑动到底部自动加载
- listview 滑动到底部自动加载
- IOS:UIScrollView 自动滑动翻页功能
- 图片滑动功能封装和自动布局
- viewpager实现自动滑动以及手势滑动功能
- 关于listview的item实现滑动删除功能实现
- Python代码优化及技巧笔记(二)
- suricata Quick Start Guide 启动手册
- androidstudio和Eclipse中配置AndroidAnnotations框架的方式
- 极速多渠道打包
- 归并排序详解
- listView自动滑动功能
- webconfig添加 节点的技巧 MIME映射
- Android性能调优具体技巧 20+条(干货不止一点点)
- 二叉树 深度优先遍历 详解
- 泛型算法11
- C++第一次实验Plus
- colinux的安装
- androidUSB通信——打印机
- JAVA排序算法---快速排序