通过使用ViewPage实现Grally画廊的卡片式效果,简单易懂易实现。
之前一直在github与网上搜索资料,查看了很多比如RecyclerView实现画廊的效果,ViewPage实现画廊的效果,但是都没有我想要的既简单又达到我想要的效果。所以我总结了一下查看的这么多资料,自己弄了一个简单的自己想要的效果出来。
编写使用到viewpage,cardview两个控件就可以简单的实现了卡片式画廊的效果。先看看下面效果图
再来看看主活动页面的代码,主页就这么点代码就可以简单的实现了效果。比我在网上查看的资料的代码啊少了很多,而且简单易懂
扫描二维码关注公众号,回复:
1814192 查看本文章
public class MainActivity extends AppCompatActivity { private ViewPager mViewCard; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { mViewCard = (ViewPager) findViewById(R.id.vp_card); mViewCard.setAdapter(new ViewPagerCardAdapter()); mViewCard.setOffscreenPageLimit(2);//预加载2个 mViewCard.setPageMargin(30);//设置viewpage之间的间距 mViewCard.setClipChildren(false); mViewCard.setPageTransformer(true, new CardTransformer()); } private class ViewPagerCardAdapter extends PagerAdapter { @Override public int getCount() { return 6; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.item_task_viewcard, null); TextView cardNumber = view.findViewById(R.id.tv_task_card_number); cardNumber.setText("任务" + (position + 1)); container.addView(view); return view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }
代码的下载可以到我的GitHub上下载下来:https://github.com/llengnuo/ViewPageCard 点击打开链接
觉得可以的话可以点个赞哦!!!