模仿三星通讯录 ListView 左右滑动拨号或发短信
2013-03-16 20:38
197 查看
ListView 里面item 为ViewPaper
直接上代码:
View Code
代码地址:http://files.cnblogs.com/echo6106/ViewPagerListViewItem.zip
直接上代码:
View Code
package com.pzh; import java.util.ArrayList; import java.util.List; import com.jon.R; import android.R.integer; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; public class ViewPagerListView extends Activity { private ContactListView listView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); listView = (ContactListView) this.findViewById(R.id.listview); String str = "a"; List<String> strings = new ArrayList<String>(); strings.add(str); strings.add(str); strings.add(str); strings.add(str); strings.add(str); listView.setAdapter(new ListViewAdapter(this, 0, strings)); } class ListViewAdapter extends ArrayAdapter<String> { private Context mContext; private View view1; private View view2; private View view3; private List<View> views; public ListViewAdapter(Context context, int textViewResourceId, List<String> objects) { super(context, textViewResourceId, objects); views = new ArrayList<View>(); mContext = context; view1 = LayoutInflater.from(mContext).inflate(R.layout.view1, null); view2 = LayoutInflater.from(mContext).inflate(R.layout.view2, null); view3 = LayoutInflater.from(mContext).inflate(R.layout.view3, null); views.add(view1); views.add(view2); views.add(view3); } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(mContext); convertView = inflater.inflate(R.layout.vp_item, null); } ViewPager vp = (ViewPager) convertView .findViewById(R.id.tabcontent_vp); vp.setAdapter(new TabAdapter()); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { // // TODO Auto-generated method stub // int count = 0; // if (position == 1) // { // listView.setCanMoving(false); // count++; // } // if (position == 0) // { // count--; // if (count == 0) // { // listView.setCanMoving(true); // } // } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub // 拦截父控件的onTounch事件 if (arg0 > 0.1 && arg1 < 0.9) { listView.requestDisallowInterceptTouchEvent(true); } } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub // 解除父控件的onTounch事件 if (arg0 == ViewPager.SCROLL_STATE_DRAGGING) { listView.requestDisallowInterceptTouchEvent(false); } } }); vp.setCurrentItem(1); return convertView; } private class TabAdapter extends PagerAdapter { @Override public int getCount() { return views.size(); } @Override public Object instantiateItem(View arg0, int arg1) { ((ViewPager) arg0).addView(views.get(arg1)); return views.get(arg1); } @Override public void destroyItem(View arg0, int arg1, Object arg2) { ((ViewPager) arg0).removeView(views.get(arg1)); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { } @Override public Parcelable saveState() { return null; } @Override public void startUpdate(View arg0) { } @Override public void finishUpdate(View arg0) { } } } }
代码地址:http://files.cnblogs.com/echo6106/ViewPagerListViewItem.zip
相关文章推荐
- 三星TouchWiz之listview单个Item左右滑动深入剖析(一)——思路篇
- 三星TouchWiz之listview单个Item左右滑动深入剖析(二)——实践篇
- 左右滑动ListView item实现打电话与发短信
- 左右滑动删除ListView条目Item(SwipeToDismiss)
- listview左右滑动动画实现
- 使用HorizontalListView,实现左右滑动时,有箭头提示,到达端点时,箭头消失。
- Android模仿三星手机系统滑动条滑动时滑块变大的特效
- 使用swipemenulistview实现列表的左右滑动
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- 模仿探探(百合网,珍爱网)卡片左右滑动效果,滑动流畅,卡片view无限重生
- 带有ListView界面左右滑动,切换界面
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
- 模仿探探的左右滑动切换卡片功能
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- Android SwipeActionAdapter结合Pinnedheaderlistview实现复杂列表的左右滑动操作
- android左右手势滑动时与listview中的item事件触发有冲突
- SlideAndDragListView_一个可以左右滑动item和拖放item的ListView。
- 左右滑动菜单,模仿 ios智慧无锡 上的左右滑动菜单
- Android ListView上下滑动与item左右滑动冲突解决