android如何实现滑动标签页效果
小编这次要给大家分享的是android如何实现滑动标签页效果,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
创新互联服务项目包括灌南网站建设、灌南网站制作、灌南网页制作以及灌南网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,灌南网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到灌南省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
实现效果:
实现功能:
- ViewPager+Fragment实现加载界面
- SQLite数据获取并显示到ListView上
- ListView的item监听并携带数据跳转到其他界面
- 使用SharedPreference存储部分测试数据
实现过程:
各方法和变量的作用请详见代码注释。
listview的数据显示请见Android Studio获取SQLite数据并显示到ListView上Fragment+ViewParger实现界面加载
首先要创建两个类并继承Fragment,在viewpager中实现显示时使用。
public class RiderInfo_Fragment extends Fragment { List
另一个类的创建过程类似。
3.创建 mainactivity.java用于设置在Viewpager中显示Fragment
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private ViewPager vp; CustomerInfo_Fragment customerInfo_fragment; RiderInfo_Fragment riderInfo_fragment; private ListmFragmentList = new ArrayList (); FragmentAdapter mFragmentAdapter; TextView custome, rider; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); mFragmentAdapter = new FragmentAdapter(this.getSupportFragmentManager(), mFragmentList); vp.setOffscreenPageLimit(2);//ViewPager的缓存为2帧 vp.setAdapter(mFragmentAdapter); vp.setCurrentItem(0);//初始设置ViewPager选中第一帧 //ViewPager的监听事件 vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { /*此方法在页面被选中时调用*/ //title.setText(titles[position]); changeTextColor(position); } @Override public void onPageScrollStateChanged(int state) { /*此方法是在状态改变的时候调用,其中arg0这个参数有三种状态(0,1,2)。 arg0==1的时辰默示正在滑动, arg0==2的时辰默示滑动完毕了, arg0==0的时辰默示什么都没做。*/ } }); } void initView() { custome = findViewById(R.id.customer); rider = findViewById(R.id.rider); custome.setOnClickListener(this); rider.setOnClickListener(this); vp = (ViewPager) findViewById(R.id.mainViewPager); customerInfo_fragment = new CustomerInfo_Fragment(); riderInfo_fragment = new RiderInfo_Fragment(); mFragmentList.add(customerInfo_fragment); mFragmentList.add(riderInfo_fragment); } @Override public void onClick(View view) { //用于判断当前为哪一个fragment int i = view.getId(); if (i == R.id.customer) { vp.setCurrentItem(0, true); } else if (i == R.id.rider) { vp.setCurrentItem(1, true); } } public class FragmentAdapter extends FragmentPagerAdapter { List fragmentList = new ArrayList (); public FragmentAdapter(android.support.v4.app.FragmentManager fm, List fragmentList) { super(fm); this.fragmentList = fragmentList; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); } }
该方法用于具体执行数据库数据查询
public static void getRiderHistoryInfoFromSQite(Activity activity, ListinfoList) { DBOpenHelper helper = new DBOpenHelper(activity, "qianbao.db", null, 1); SQLiteDatabase db = helper.getWritableDatabase(); Cursor c = db.query("RiderHistoryInfo", null, null, null, null, null, null); if (c != null && c.getCount() >= 1) { while (c.moveToNext()) { //moveToNext是指向表中的下一行数据 infoList.add(new Info(c.getString(c.getColumnIndex("userName")), c.getString(c.getColumnIndex("userPhone")), c.getString(c.getColumnIndex("price")), c.getString(c.getColumnIndex("address")), c.getString(c.getColumnIndex("createTime")), c.getString(c.getColumnIndex("objectId")),"")); } c.close(); db.close(); } }
看完这篇关于android如何实现滑动标签页效果的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
本文题目:android如何实现滑动标签页效果
本文地址:http://myzitong.com/article/igocge.html