在android中滑动页面

时间:2012-08-14 14:52:45

标签: android android-layout android-viewpager viewflipper

我正在开发一个应用程序,让我说我有5种不同的布局加上一个主布局,它有每个布局的链接。在主要布局中,当用户点击第一个按钮时,假设通过滑动去相关布局。其他观点也是如此。

当用户转到其中一个布局时,下一个布局还有一些指向其他布局的链接,就像链一样。而这条链正在通过滑动从布局转移到另一条链。

我试图用视图鳍状肢做这个,但由于我有很多不同的布局,并且它们有背景图像和一些内容,我出现了内存错误。

所以我试图以这种方式找到解决方案。知道怎么做到这一点吗?

2 个答案:

答案 0 :(得分:1)

我建议你使用Jake Whartons ViewPageIndicator

为每个布局创建一个Fragment,并使用片段中的onCreateView()方法将布局设置为片段:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) {

        return inflater.inflate(R.layout.layout, container, false);
    }

现在创建一个FragmentPagerAdapter,可能会有一个名为getItem()的方法。 Switch位置并将其设置为您的片段:

 public Fragment getItem(int position) {
 switch(position)
       {
               case 0:
                    TestFragment fragment = new TestFragment();  
                    return fragment;

                case 1:
                    TestFragment2 fragment2 = new TestFragment2();  
                    return fragment2;

         }

                    DefaultFragment fragment3 = new DefaultFragment();  
                    return fragment3;

         }

现在你应该可以轻松地滑动到你的布局(片段)

答案 1 :(得分:0)

开始托管每个布局的新android.app.Activity并使用overridePendingTransition(R.anim.animation_leave, R.anim.animation_enter);覆盖活动之间的转换,其中* .anim.animation_leave和_enter已在this SO answer中为您精确指定。

您可以在调用之后立即编写overridePendingTransition代码以启动“链式”活动,并且(如果需要)可以通过在活动上调用finish()或选择'之后提供相反的转换来应用反向效果按'导航按钮按下或'后退按钮'按下。

单个活动管理一个布局(根据我的经验)也有利于代码可维护性。