本文主要是介绍ViewPager+ListView+grideView,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
<span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 26px; ">ViewPager+ListView+grideView,支持滑动,点击,数据都是真实的手机里面的数据,有需要的可以参考!</span>
还有里面的小点点 也会根据你滑动 而变化。
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//设置窗口无标题requestWindowFeature(Window.FEATURE_NO_TITLE);mInflater = getLayoutInflater();//初始化ListView和GridView的内容mainViewGroup = (ViewGroup) mInflater.inflate(R.layout.main, null);setContentView(mainViewGroup);mContext=this;initView();getdata();}protected void showToView() {// TODO Auto-generated method stubadapter=new ListViewAdapter(appInfos, mContext);gridViewAdapter=new GridViewAdapter(appInfos, mContext);mListView.setAdapter(adapter);mGridView.setAdapter(gridViewAdapter);mListView.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> parent, View view, int position,long id) {// TODO Auto-generated method stubAppInfo info=(AppInfo) parent.getItemAtPosition(position);if (null!=info) {Toast.makeText(mContext, info.getAppname(), 1000).show();}}});}private void initView() {// TODO Auto-generated method stubViewGroup viewLayoutListView = (ViewGroup) mInflater.inflate(R.layout.layout_listview, null);ViewGroup viewLayoutGridView = (ViewGroup) mInflater.inflate(R.layout.layout_gridview, null);mListView = (ListView) viewLayoutListView.findViewById(R.id.mylistview);mGridView = (GridView) viewLayoutGridView.findViewById(R.id.mygridview);//初始化ViewPager的内容mPageViews = new ArrayList<View>();//添加2个页面mPageViews.add(viewLayoutListView);mPageViews.add(viewLayoutGridView);//初始化底部的圆点视图mImageViews = new ImageView[mPageViews.size()];mViewPager = (ViewPager) mainViewGroup.findViewById(R.id.myviewpager);indicatorViewGroup = (ViewGroup) mainViewGroup.findViewById(R.id.mybottomviewgroup);for (int i = 0; i < mImageViews.length; i++) {mImageView = new ImageView(MainActivity.this); mImageView.setLayoutParams(new LayoutParams(20,20)); mImageView.setPadding(20, 0, 20, 0); if (i == 0) {mImageView.setBackgroundResource(R.drawable.page_indicator_focused); } else {mImageView.setBackgroundResource(R.drawable.page_indicator);}mImageViews[i] = mImageView;//把指示作用的远点图片加入底部的视图中indicatorViewGroup.addView(mImageViews[i]);}mViewPager.setAdapter(new MyPagerAdapter());mViewPager.setOnPageChangeListener(new OnPageChangeListener() {public void onPageSelected(int arg0) {// TODO Auto-generated method stubfor (int i = 0; i < mImageViews.length; i++) {if(i == arg0) {mImageViews[i].setBackgroundResource(R.drawable.page_indicator_focused);} else {mImageViews[i].setBackgroundResource(R.drawable.page_indicator);}}}public void onPageScrolled(int arg0, float arg1, int arg2) {// TODO Auto-generated method stub}public void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub}});}private void getdata() {// TODO Auto-generated method stubappInfos=new ArrayList<AppInfo>();provider=new AppInfoProvider(mContext);startThread();}private void startThread() {// TODO Auto-generated method stubnew Thread() {public void run() {appInfos = provider.getAllApps();// 所有的程序Message msg = handler.obtainMessage(1000);handler.sendMessage(msg);}}.start();}
最后 附上下载链接:http://download.csdn.net/detail/u010126392/7506707
这篇关于ViewPager+ListView+grideView的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!