Android实现横向滑动卡片效果
最近项目上需要实现这样效果的一个页面,本来想找个现成的两下搞定,但是问了半天度娘也没招,索性自己琢磨琢磨(这里边也少不了同事的帮助),先把最终的效果图贴上:
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的云南网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

理论上讲,其本质并不复杂,就是一个viewpager,但是第一次实现这样的效果还是要花些时间的,具体的代码如下:
主布局文件:activity_show_industry_list.xml,主要就是一个activity上放个viewpager,但是相对布局是关键
<?xml version="1.0" encoding="utf-8"?>
fragment布局文件:fragment_show_industry_list.xml 该布局对应的类比较简单,就不往上贴了
主布局类ShowIndustryListActivity.java
public class ShowIndustryListActivity extends BaseActivity {
private FragmentPagerAdapter pagerada;
private ShowIndustryListFragment showIndustryListFragment;
ShowIndustryListFragment fragment1,fragment2,fragment3,fragment4;
ArrayList fragments;
@Bind(R.id.vp_show_industry_list)
ViewPager viewPager;
FragmentManager fragmentManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_industry_list);
ButterKnife.bind(this);
fragmentManager = getSupportFragmentManager();
fragments= new ArrayList();
fragment1 = new ShowIndustryListFragment();
fragment2 = new ShowIndustryListFragment();
fragment3 = new ShowIndustryListFragment();
fragment4 = new ShowIndustryListFragment();
fragments.add(fragment1);
fragments.add(fragment2);
fragments.add(fragment3);
fragments.add(fragment4);
viewPager.setOffscreenPageLimit(fragments.size());//卡片数量
viewPager.setPageMargin(10);//两个卡片之间的距离,单位dp
if (viewPager!=null){
viewPager.removeAllViews();
}
MyFragmentPagerAdapter myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(), fragments);
viewPager.setAdapter(myFragmentPagerAdapter);
}
class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private ArrayList listFragments;
public MyFragmentPagerAdapter(FragmentManager fm, ArrayList al) {
super(fm);
listFragments = al;
}
public MyFragmentPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return listFragments.get(position);
}
@Override
public int getCount() {
return listFragments.size();
}
@Override
public int getItemPosition(Object object) {
return super.getItemPosition(object);
}
}
} 至此,效果就可以实现了,上手试试吧。
更多关于滑动功能的文章,请点击专题: 《Android滑动功能》
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
本文题目:Android实现横向滑动卡片效果
文章起源:http://www.jxjierui.cn/article/pedghs.html


咨询
建站咨询
